KingDZ 變菜鳥,每日一個C#小執行個體之—C#MessageBox小技巧

來源:互聯網
上載者:User

大家好,昨天俺休息了一天,木有給大家更新執行個體,今天呢,決定了,哈哈,更新三個。希望大家給俺好評哦,3Q,開始吧,第一個來個簡單的。C#裡面的MessageBox相信大家都玩過,哈哈。今天我們就實現讓他自己數秒之後自己關閉。嘿嘿

今天看到一個有意思的“老師”,所以奉獻給大家

寫字樓裡寫字間,寫字間裡程式員;程式人員寫程式,又拿程式換酒錢。
酒醒只在網上坐,酒醉還來網下眠;酒醉酒醒日複日,網上網下年複年。

寧願老死程式間,只要老闆多發錢;小車大房不去想,撰個2k好過年。
若要見識新世面,公務員比程式員;一個在天一在地,而且還比我們閑。
別人看我穿白領,我看別人穿名牌;天生我才寫程式,臀大近視肩周炎。

年複一年春光度,度得他人做老闆;老闆扣我薄酒錢,沒有酒錢怎過年.
春光逝去皺紋起,作起程式也委靡;來到水源把水灌,打死不做程式員.
別人笑我忒瘋癲,我笑他人命太賤;狀元三百六十行,偏偏來做程員!

但願老死電腦間,不願鞠躬老闆前;平治寶馬貴者趣,公交自行程式員。
若將程員比妓女,一在平地一在天;若將程員比車馬,他得驅馳我無閑。
別人笑我忒瘋癲,我笑自己命太賤;不見滿街漂亮妹,哪個歸得程式員。

不想只掙打工錢,那個老闆願發錢;小車大房咱要想,任我享用多悠閑。
比爾能搞個微軟,我咋不能撈點錢;一個在天一在地,定有一日乾坤翻。
我在天來他在地,縱橫天下山水間;傲視武林豪傑墓,一樽還壘風月山。

電腦面前眼發直,眼鏡下面淚茫茫;做夢發財好幾億,從此不用手指忙。
哪知夢醒手空空,老闆看到把我訓;待到老時眼發花,走路不知哪是家。

各位在此窮抱怨,可知小弟更可憐;俺學編程兩年半,至今沒賺一分錢。
聽說三十是末日,二十三歲在眼前;發誓立志傍微軟,渺渺前程對誰言?

 

哦了,開始吧,這裡我們有好幾種辦法,首先是網路上面最常見的一種調用APi的方法。當然我換應大家和我討論其他的辦法,希望大家不吝賜教。

[DllImport("User32", CharSet = CharSet.Auto)]private extern static IntPtr FindWindow(string lpClassName,string lpWindowName);[DllImport("User32", CharSet = CharSet.Auto)]public static extern int PostMessage(IntPtr hwd, int msg, IntPtr wparam, IntPtr lParma);public const int WM_CLOSE = 0x10;

上面的這兩個API函數的用法如下

http://msdn.microsoft.com/en-us/library/ms633499(VS.85).aspx

http://msdn.microsoft.com/en-us/library/ms644944(VS.85).aspx

 

大家可以去,仔細的研究一下。這裡我們用到的就是用一個計時器,然後調用API捕獲到彈出的視窗,然後實現我們想要的效果。

// 按照MessageBox的標題,找出Messagebox這個彈出框

void KillMessageBox() {    IntPtr ptr = FindWindow(null, "自動關閉");    if (ptr != IntPtr.Zero)        PostMessage(ptr,WM_CLOSE,IntPtr.Zero,IntPtr.Zero);}

FindWindow就是專門找出視窗準備的,Timer的Tick事件中

void setTimer_Tick(object sender, EventArgs e){    KillMessageBox();    ((Timer)sender).Stop();}

哈哈,完事。看效果吧,代碼後面附上

 

當然,你也可以用這個API

static extern bool EndDialog(IntPtr hDlg, out IntPtr nResult);

哈哈,例子太簡單了,OK完事。

 

MyMessageBox.rar代碼中有我發現的一個非常棒的類,給大家了

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.