一、tooltip資訊提示框
c#中提供了資訊提示框,這有很多用處,可以提示控制項或者使用者自定義的屬性資訊,而且可以自動彈出或者使用者指定彈出,也可以動畫效果彈出。
但是這個控制項設計和實現有很多不好的地方,使用的時候需要一些技巧。
二、使用方法
(1)滑鼠移動到控制項或指定的位置自動顯示
tooltip.settooltip 方法 ,注意相關引數的設定。
(2)動畫效果
引數:autopopdelay initialdelay reshowdelay
例如:tooltip tooltip1 = new tooltip();
tooltip1.autopopdelay = 5000;
tooltip1.initialdelay = 1000;
tooltip1.reshowdelay = 500;
tooltip1.showalways = true;
tooltip1.settooltip(this.button1, "my button1");
tooltip1.settooltip(this.checkbox1, "my checkbox1");
(3)提示設定
tooltipicon屬性
error 錯誤圖示
info 資訊圖示。
none 不是標準圖示。
warning 警告圖示。
(4)氣泡樣式
tooltip.isballoon 屬性 設定為true
(5)自定義位置和觸發事件顯示
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沒有直接提供width屬性,找了很久可用以下方法設定:
在顯示前tooltip.popup 事件
中通過引數popupeventargs.size進行設定。但是這只能覆蓋多出的資訊。這種處理不合理。
建議另外一種方法:設定每一行固定字元,多出的則換行顯示
網上摘抄的感覺有用的正則習題
比如,一段文字 eng li aas ddde iiiiideeeeef 怎樣在python中用正規表示式提取出尖括號之外的內容?即最後的輸出結果為eng li aas d dde iiiii deeeeef 問題更正,文字應該是這樣的 eng li aasdddeiiiiideeeeef怎樣在py...
QT的hint的toolTip的使用
qstring value 1213213231 this settooltip value qt自帶的介面 value就是自己想要塞進的資料。如果字元多的話 怎麼自動換行呢?這段 是人工加的換行符來讓字串換行,超過50個字元自己會換行,我不太清楚是不是有屬性可以直接完成這個。測試了好久才生效,原來...
網上摘抄一些C 筆試題目
c 筆試題 1.多型類中的虛函式表是compile time,還是run time時建立的?答案 虛函式表是在編譯期就建立了,各個虛函式這時被組織成了乙個虛函式的入口位址的陣列.而物件的隱藏成員 虛函式表指標是在執行期 也就是建構函式被呼叫時進行初始化的,這是實現多型的關鍵.3.完成字串拷貝可以使用...