2013-02-28 27 views
1

我有一個登錄表單。該表格有2個文本框和3個按鈕。一個按鈕說「學生」。表單加載工具提示

我想要做的是在窗體打開時在此按鈕上顯示工具提示。我不想去按鈕,並將其懸停在它上面,以便它顯示。我想要加載表單,顯示工具提示,然後工具提示應該在5秒後消失。這是我迄今爲止所嘗試的:

private void Form1_Load(object sender, EventArgs e) 
     { 
      toolTip.IsBalloon = true; 
      toolTip.ToolTipIcon = ToolTipIcon.Info; 
      toolTip.ShowAlways = true; 
      toolTip.UseFading = true; 
      toolTip.UseAnimation = true; 
      toolTip.ToolTipTitle = "Student Mode"; 
      toolTip.Show("You don't have to log in if you are a student. Just click here to go to the questions.", btnStudent); 
     } 
+0

您可以在窗體加載時啓動計時器。設置計時器滴答爲5000,在第一個滴答事件停止計時器和設置您的工具提示行爲像一個正常的工具提示。 – Brad 2013-02-28 18:02:14

回答

5

窗體的Load事件被錯誤地使用得太頻繁。在這裏,事件在之前觸發窗口變得可見。因此您的工具提示也不可見。

改爲將您的代碼移至顯示的事件處理程序。贊成重寫OnShown()順便說一句,對於一個類來聽它自己的事件是沒有意義的。

protected override void OnShown(EventArgs e) { 
     base.OnShown(e); 
     // Your code here 
     //... 
    } 
+0

+1很好的答案! – 2013-02-28 19:59:59