2013-03-06 55 views
2

我想在主線程上創建一個窗口,使其行爲與messagebox窗口相似。換句話說,我正在尋找類似:創建類似消息框的窗口,其中代碼將在關閉窗口後繼續運行

var myView = new Views.MyWindow(); 
myView.Show(); // I want to wait here until myView is closed? 

// continue execution once myView is closed 

我知道我可以創建一個信號量來實現這一點,並有其他窗口釋放信號量,一旦它關閉,但如何在消息框中窗口管理上做到這一點同一個線程?

+5

使用的ShowDialog()方法來代替。 – 2013-03-06 22:59:40

+0

ShowDialog()bro。 – 2013-03-06 23:04:09

回答

3

你必須使用ShowDialog()代替Show()

從MSDN報價:

當這個方法被調用,代碼如下它不是直到對話框關閉後執行。

ShowDialog()方法返回bool?對象。使用它,你就可以知道,如果用戶只是關閉了窗口,點擊該按鈕Accept等:

var result = myView.ShowDialog(); 
if (result) { 
    //do something here... 
} 
+0

謝謝,這正是我一直在尋找的! – 2013-03-06 23:02:55

+0

只是想知道如何從我的視圖設置dialogResult?現在我正在窗口的myView.Tag屬性上設置不同的值... – 2013-03-06 23:06:02

+0

@TonoNam讓我編輯我的答案。 – 2013-03-06 23:07:02