2012-04-23 77 views
5

我的應用程序有一個工作線程正在執行一些文件同步。工作線程上的MessageBox

在同步過程中的某些情況下,我的工作線程需要做出是否繼續的決定。因此,我想我會通過顯示對話框/消息框來請求用戶反饋。(是/否)。這將導致工人繼續或停止。

現在的問題是:
在非UI線程上顯示消息框安全嗎?
它可能會導致任何潛在的問題?

+0

的問題是不能夠設置適當的父: http://stackoverflow.com/questions/12949333/message-box-from-another-thread/13961697#13961697 – hans 2012-12-19 21:44:30

回答

5

在非UI線程上顯示消息框是否安全?

是的,它是安全的。 MessageBox.Show()是一個靜態線程安全的方法。

它可能會導致任何潛在的問題?

不是在這種情況下,我認爲。但是你阻止了一個線程,而不是你應該做的事情,當你可以防止它。

3

MessageBox不綁定到UI。這是一個簡單的Win32 API調用。你可以在任何線程上使用它。

+2

號你不能。 http://www.codeproject.com/Articles/121226/MessageBoxes-and-worker-threads – Robert 2014-02-21 19:11:57