我需要實現一個非阻塞的MessageBox
,它會在20秒後自動關閉。有人可以建議我怎麼去做這件事?WPF無阻塞,自動關閉消息框
3
A
回答
9
您使用DispatcherTimer創建了一個新窗口。當窗口打開時,您啓動計時器。然後,你有兩個選擇:
- (易:)你設置定時器爲20秒,當計時器到期時關閉窗口。
- (尼斯:)您將計時器設置爲一秒,並在每次計時器到期時遞減一些計數器(從20開始)。您顯示在窗口櫃檯,當你說非阻塞I立即排除MessageBox類(非阻塞你的意思是一個無模式對話框假設關窗當計數器達到0
6
? )。
您可以改爲創建一個您自己實現的MessageBox的Window。爲了使它不是模態的,你可以調用Show()方法。然後,你可以只設立了20秒的定時器來調用close方法:以上
DispatcherTimer timer = new System.Windows.Threading.DispatcherTimer();
//Constructor
public MyMessageBox()
{
timer.Interval = TimeSpan.FromSeconds(20d);
timer.Tick += new EventHandler(timer_Tick);
}
public new void Show()
{
base.Show();
timer.Start();
}
void timer_Tick(object sender, EventArgs e)
{
//set default result if necessary
timer.Stop();
this.Close();
}
假定您已經創建了一個名爲類是MyMessageBox從窗口繼承。
相關問題
- 1. 自動關閉消息框
- 2. VBA Excel宏消息框自動關閉
- 3. 在C中自動關閉消息框#
- 4. c中的非自動阻塞消息框#
- 5. 關閉durandal消息框
- 6. 消息框立即關閉
- 7. WPF:自定義消息框
- 8. 自定義消息框WPF
- 9. 如何在ANDROID下創建快速自動關閉消息框?
- 10. 如何在java中創建自動關閉消息框
- 11. 如何使Python在幾秒內自動關閉消息框?
- 12. 無法關閉信息/警告消息
- 13. WPF:非阻塞UI
- 14. 在vb.net關閉消息框後WPF刷新
- 15. 關閉非阻塞套接字通道
- 16. 如何關閉阻塞插座
- 17. Haskell手柄的非阻塞關閉
- 18. 阻塞,直到文件被關閉python
- 19. 關閉流阻塞線程嗎?
- 20. Xamarin Forms顯示阻塞加載消息
- 21. WSO2APIM消息中介 - API調用阻塞
- 22. Mandelbrot消息隊列阻塞 - C
- 23. WPF消息框與WinForms的消息框
- 24. 自定義消息框阻止
- 25. 如何關閉對話框而不阻塞UI
- 26. 消息框不是在Windows.Forms的阻塞事件
- 27. 從非線程阻塞消息框獲取結果?
- 28. 關閉與空間的消息框
- 29. 關閉/忽略excel中的消息框
- 30. 在KeyPress上關閉一個消息框?
哎呀,看起來像Heinzi打我一拳。 – xr280xr 2011-04-05 13:09:26
+1爲好例子! – Heinzi 2011-04-05 13:59:41