2010-11-24 76 views

回答

9
timer.Interval=5000; 
timer.Enabled=true; 
MessageBox.Show("Should close automatically"); 

與關聯計時器的Tick事件處理程序下面的代碼片段:

private void timer_Tick(object sender,EventArgs evt) { 
    timer.Enabled=false; 
    SendKeys.Send("{ESC}"); // SendWait as alternative 
} 
2

不可能與MessageBox類;您必須創建自己的模擬模板並自行添加此功能。

+0

那麼,你可以用Windows API消息框來做到這一點。您只需掌握消息框窗口句柄,然後在計時器觸發後發佈WM_CLOSE消息。確保你注意到窗戶關閉的事件,並在這種情況下放棄計時器。你只需要一點P/Invoke。但更好的解決方案是不按照我的答案使用對話框Q. – 2010-11-24 18:18:54

+0

我可能應該這樣寫:「MessageBox`沒有這個功能,你需要一個解決方法」。 – BeemerGuy 2010-11-24 18:21:45

0

消息框是錯誤的解決方案。你需要一個提示窗口。

+0

什麼是「提示窗口」?如果它的窗體中的某些東西對我來說是新的 - 如果它創建了某種東西,那麼這個東西太簡單了。 – Murph 2010-11-24 18:39:54

0

如果這是在網頁上,你可以使用JavaScript或jQuery的了相當不錯的效果。這通常被稱爲「淡入淡出」動畫。它確實使用了一個計時器。

使用這種方法,您不會使用實際的警報或MessageBox。您使用<div>或其他一些指定的HTML元素。

你可以找到代碼here爲你在做什麼使用JavaScript。

或者如果您使用的是jQuery,請查閱fadeOut。這裏有一個article