C#中提供了信息提示框ToolTip有很多用處,可以提示控件或者用戶自定義的屬性信息,而且可以自動彈出或者用戶指定彈出,也可以動畫效果彈出。
(1)鼠標移動到控件或指定的位置自動顯示
ToolTip.SetToolTip 方法 ,注意相關參數的設置。
(2)ToolTip的動畫效果
可以借助參數:AutoPopDelay,InitialDelay,ReshowDelay實現Tooltip的動畫效果。
下面是一個具體的例子:
ToolTip toolTip1 = new ToolTip();
toolTip1.AutoPopDelay = 5000;
toolTip1.InitialDelay = 1000;
toolTip1.ReshowDelay = 500;
toolTip1.ShowAlways = true;
toolTip1.SetToolTip(this.textBox1, "請輸入用戶名");
toolTip1.SetToolTip(this.textBox2, "請輸入密碼。");
(3)ToolTip提示圖片設置
使用ToolTip的ToolTipIcon屬性可以設置提示圖片,主要有以下幾種:
Error 錯誤圖標
Info 信息圖標。
None 不是標準圖標。
Warning 警告圖標。
(4)實現ToolTip的氣泡樣式
將ToolTip.IsBalloon 屬性 設置為True
(5)自定義ToolTip的位置和觸發事件顯示
ToolTip.Show 方法,注意相關參數的設置。
例如:
m_ToolTip.Show(pStringBuilder.ToString(),
m_HookHelperJP.FormObjects.Win32Window, e.x + r.Left, e.y + r.Top);
(1)ToolTip.Show時顯示不能隱藏問題
在再次觸發Show前進行Hide操作
(2)m_ToolTip信息不能及時更新問題
這是因為其內存清理存在問題,處理方法:在顯示前清除內存,重新實例化。
例如:
m_ToolTip.Dispose();
m_ToolTip = new ToolTip();
m_ToolTip.ToolTipIcon = ToolTipIcon.Info;
//m_ToolTip.IsBalloon = true;
m_ToolTip.ShowAlways = true;
m_ToolTip.ToolTipTitle = sName;
m_ToolTip.Show(pStringBuilder.ToString(),
m_HookHelperJP.FormObjects.Win32Window, e.x + r.Left, e.y + r.Top);
(3)固定ToolTip的寬度
ToolTip沒有直接提供Width屬性,找了很久可用以下方法設置:
在顯示前ToolTip.Popup 事件中通過參數PopupEventArgs.Size進行設置。但是這只能覆蓋多出的信息。這種處理不合理。
建議另外一種方法:設置每一行固定字符,多出的則換行顯示
新聞熱點
疑難解答