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