2012-11-18 215 views
0

我打電話給我的自定義對話框窗口使用此代碼:自定義對話框

GUI.SLDialog sd = new GUI.SLDialog(); 
if (sd.ShowDialog() == false) 
{ 
    return; 
} 

但sd.ShowDialog()始終沒有返回值(我認爲),因爲該功能中斷,但航點未達到return;

對話框被關閉全自動當我加入按鈕:

this.DialogResult = false;//or true 

任何人知道我在做什麼錯? 在此先感謝您的幫助。
C.H.

@edit 這是我SLDialog: XAML:http://wklej.org/hash/9fb67fb0c7c/ CS:http://wklej.org/hash/16e3ccc6c0d/

+0

我假設'DialogResult'是一個'bool'而不是'System.Windows.Forms.DialogResult' ... – svbnet

+0

是的。我只在任何地方使用wpf。 –

+0

你可以顯示一些'SLDialog'的代碼嗎? –

回答

1

我不認爲我可以告訴你,在這裏多,除非你發佈代碼的對話框,但我有一個建議,在與此同時。

既然您已經對標準對話框感到不滿,並且定製顯然是一種選擇,爲什麼不轉向人們期待的內容呢?爲什麼不創建一個用戶控件來覆蓋你的其他用戶界面,並將背景中的所有內容模糊化,而不是使用標準對話框?就像您可能會在網頁上看到的jQuery對話框一樣。

模態更容易控制,因爲它只是用半透明的矩形覆蓋整個應用程序窗口,然後使對話窗口出現,但不管你想要的。

只是一個建議。

+2

這樣做還需要以某種方式控制與代碼執行相關的模式。通常當你使用'Window.ShowDialog()'時,在你關閉窗口之前暫停執行代碼。 –

+0

任何更好的想法; s –