更新至2.0版,基本完全重寫,重點:
改為基于原生LayeredWindow窗體和UpdateLayeredWindow API呈現(xiàn)動畫,完全摒棄.net Form,這種消息框用前者再適合不過,后者對于這種場景過于臃腫了
更高更快更強,更酷更炫更拉轟
可自由定制若干消息窗樣式。1.0版似乎只能換個圖標而已
項目已更新至開源倉庫,有需要請自取??磮D:
-------------201608301610更新-------------
根據(jù)幾位猿友在評論中反饋的問題和建議做了更新,主要內(nèi)容:
ShowXX的時候如果不指定point參數(shù),則根據(jù)活動控件來確定顯示位置,如果活動控件是文本輸入類控件,則根據(jù)光標位置來確定
如果指定了point參數(shù),則直接根據(jù)該point來確定
另外增加了一組ShowXX重載,接受Control和ToolStripItem(工具欄按鈕等,下稱item)對象,完了根據(jù)該對象來確定顯示位置。這里要注意,item是無焦點的,所以在MessageTip中無法得知點擊的是item,也就無法做到自動在item附近顯示,所以這里有個最佳實踐:就是如果想在item附近顯示,那就需要使用上述重載,把item傳進去;其余情況都可以讓MessageTip自動判斷顯示位置
顯示位置太靠屏幕頂部時,改在基準點下方顯示,并且動畫由上浮改為下降
多屏環(huán)境下的定位錯誤問題,目前是將消息框限定在基準點所在屏幕內(nèi)顯示
對于有位猿友提到的偶發(fā)異常,由于在我的環(huán)境始終無法重現(xiàn),所以只能猜測是在Load事件和OnPaint中同時爭用TipIcon所致,暫且給TipIcon的getter加獨占特性,希望能解決
原