2010-05-26 15 views
1

如何在WPF中使用WIndows Forms?如何在WPF中使用WIndows Forms?

在我的WPF程序中,我創建了一個Windows窗體類。 在這個表單中,我放置了一個OK按鈕,然後進入按鈕的屬性並將DialogResult設置爲OK。現在 ,我從MainWindow.xaml.cs調用這個對話框(窗口形式):

 DialogResult dres; 
    dres = form.ShowDialog(); 
    if (dres != DialogResult.OK) return; 

編譯器抱怨:

Error 3 'System.Nullable<bool>' does not contain a definition for 'OK' and no extension method 'OK' 
accepting a first argument of type 'System.Nullable<bool>' could be found (are you missing a using directive 
or an assembly reference?) 

回答

2

編譯器發現的DialogResult的另一種定義,可能在你的代碼的某個地方。拼寫其名稱出完全避免歧義:

System.Windows.Forms.DialogResult dres; 
dres = form.ShowDialog(); 
if (dres != System.Windows.Forms.DialogResult.OK) return; 
+0

第一次出現不需要更改,但第二次出現需要;編譯器在這裏找到該類的DialogResult屬性而不是DialogResult枚舉。 – 2010-05-26 19:43:55

0

那是因爲你應該比較窗體的DialogResult屬性對象,而不是它自己的對象。這種替換它,它應該工作:

if(dres.DialogResult != DialogResult.OK) return; 
+0

DRES的定義如下: 的DialogResult DRES; 因此,System.Windows.Forms.DialogResult'不包含'DialogResult'的定義。 – xarzu 2010-05-26 19:23:10

相關問題