C#运算符==无法应用:dlg.showDialog == System.Windows.Forms

时间:2019-01-27 12:54:50

标签: c# .net wpf visual-studio

在以下WPF C#项目的条件块上,语法收到错误:“运算符'=='无法应用于bool?和System.Windows.Forms.DialogResult的操作数”

 if (dlg.ShowDialog()   == System.Windows.Forms.DialogResult.OK)
            {
               Logic......
            } 

代码有什么问题?我正在使用VS2013

2 个答案:

答案 0 :(得分:4)

您正在尝试在代码中混合使用WPF和Windows窗体,您不应该这样做!

在WPF中,ShowDialog方法返回bool?(如果dlgDialogBoxDialogWindow

if (dlg.ShowDialog() == true) //or ==false, or ==null
{
    //logic
} 

答案 1 :(得分:0)

根据this page,WPF ShowDialog返回布尔值,根据this page WinForms返回DialogResult。

似乎您正在混合UI组件。