【问题标题】:C# Operator == Cannot be applied : dlg.showDialog == System.Windows.FormsC# 运算符 == 无法应用:dlg.showDialog == System.Windows.Forms
【发布时间】:2019-01-27 12:54:49
【问题描述】:

在 WPF C# 项目的以下 if 条件块上,语法中收到错误:“Operator '==' cannot be applied to operands of bool? and System.Windows.Forms.DialogResult”

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

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

【问题讨论】:

  • dlg 是什么类型? (顺便说一句 WPF 不是 WinForms,你似乎混淆了两者)。
  • 你背后的逻辑是什么?

标签: c# .net wpf visual-studio


【解决方案1】:

你试图在你的代码中混合 WPF 和 Windows 窗体,你不应该这样做!

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

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

【讨论】:

    【解决方案2】:

    根据this page,WPF ShowDialog返回bool,根据this pageWinForms返回DialogResult。

    您似乎在混合 UI 组件。

    【讨论】:

      猜你喜欢
      • 2012-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多