C#中提供了信息提示框ToolTip有很多用處,可以提示控件或者用戶(hù)自定義的屬性信息,而且可以自動(dòng)彈出或者用戶(hù)指定彈出,也可以動(dòng)畫(huà)效果彈出。
(1)鼠標(biāo)移動(dòng)到控件或指定的位置自動(dòng)顯示
ToolTip.SetToolTip 方法 ,注意相關(guān)參數(shù)的設(shè)置。
(2)ToolTip的動(dòng)畫(huà)效果
可以借助參數(shù):AutoPopDelay,InitialDelay,ReshowDelay實(shí)現(xiàn)Tooltip的動(dòng)畫(huà)效果。
下面是一個(gè)具體的例子:
ToolTip toolTip1 = new ToolTip();
toolTip1.AutoPopDelay = 5000;
toolTip1.InitialDelay = 1000;
toolTip1.ReshowDelay = 500;
toolTip1.ShowAlways = true;
toolTip1.SetToolTip(this.textBox1, "請(qǐng)輸入用戶(hù)名");
toolTip1.SetToolTip(this.textBox2, "請(qǐng)輸入密碼。");
(3)ToolTip提示圖片設(shè)置
使用ToolTip的ToolTipIcon屬性可以設(shè)置提示圖片,主要有以下幾種:
Error 錯(cuò)誤圖標(biāo)
Info 信息圖標(biāo)。
None 不是標(biāo)準(zhǔn)圖標(biāo)。
Warning 警告圖標(biāo)。
(4)實(shí)現(xiàn)ToolTip的氣泡樣式
將ToolTip.IsBalloon 屬性 設(shè)置為T(mén)rue
(5)自定義ToolTip的位置和觸發(fā)事件顯示
ToolTip.Show 方法,注意相關(guān)參數(shù)的設(shè)置。
例如:
m_ToolTip.Show(pStringBuilder.ToString(),
m_HookHelperJP.FormObjects.Win32Window, e.x + r.Left, e.y + r.Top);
(1)ToolTip.Show時(shí)顯示不能隱藏問(wèn)題
在再次觸發(fā)Show前進(jìn)行Hide操作
(2)m_ToolTip信息不能及時(shí)更新問(wèn)題
這是因?yàn)槠鋬?nèi)存清理存在問(wèn)題,處理方法:在顯示前清除內(nèi)存,重新實(shí)例化。
例如:
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沒(méi)有直接提供Width屬性,找了很久可用以下方法設(shè)置:
在顯示前ToolTip.Popup 事件中通過(guò)參數(shù)PopupEventArgs.Size進(jìn)行設(shè)置。但是這只能覆蓋多出的信息。這種處理不合理。
建議另外一種方法:設(shè)置每一行固定字符,多出的則換行顯示
|
新聞熱點(diǎn)
疑難解答