2010-05-26 75 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

相关问题