【问题标题】:C# error: Operator '==' cannot be applied to operands of type 'System.Windows.Forms.DialogResult' and 'bool'C# 错误:运算符“==”不能应用于“System.Windows.Forms.DialogResult”和“bool”类型的操作数
【发布时间】:2012-07-23 15:19:41
【问题描述】:

在 Visual Studio C# Express 上,当我运行下面的脚本时,我在行中收到以下错误消息:

如果(ofd.ShowDialog() == true): 错误 1 ​​运算符“==”不能应用于“System.Windows.Forms.DialogResult”和“bool”类型的操作数

我该如何解决这个问题?代码如下:

public override GH_ObjectResponse RespondToMouseDoubleClick(GH_Canvas sender, GH_CanvasMouseEvent e)
{
    System.Windows.Forms.OpenFileDialog ofd = new  System.Windows.Forms.OpenFileDialog();
    ofd.Multiselect = true;

    ofd.Filter = "Data Sources (*.ini)|*.ini*|All Files|*.*";
    if (ofd.ShowDialog() == true)
    {
        string[] filePath = ofd.FileNames;
        string[] safeFilePath = ofd.SafeFileNames;
    }
    return base.RespondToMouseDoubleClick(sender, e);
}

【问题讨论】:

  • if (ofdShowDialog() == DialogResult.OK)

标签: c# visual-studio-2010 forms


【解决方案1】:

替换为:

if (ofd.ShowDialog() == DialogResult.OK)

ShowDialog方法返回DialogResult枚举,它有以下成员:

  • 好的
  • 取消
  • 中止
  • 重试
  • 忽略
  • 是的
  • 没有

【讨论】:

    【解决方案2】:

    我怀疑您一直在阅读WPF OpenFileDialog.ShowDialog documentation,其中方法结果为Nullable<bool>。但是,如果您使用的是 Windows Forms OpenFileDialog.ShowDialog,则返回 DialogResult - 您显然无法与 bool 进行比较。

    看看DialogResult,看看你实际上想做什么。请注意,文档声称:

    如果用户在对话框中单击确定,则返回:DialogResult.OK;否则,DialogResult.Cancel。

    ...所以这些应该是您需要考虑的唯一情况。

    【讨论】:

      【解决方案3】:

      与为 DialogResult 定义的值中的一个进行比较,例如 DialogResult.OK 不是布尔值。

      if (ofd.ShowDialog() == DialogResult.OK)
      {
      
      }
      

      DialogResults 的可能值如下所示。与您需要的比较。

      DialogResult.None
      DialogResult.OK
      DialogResult.Cancel
      DialogResult.Abort
      DialogResult.Retry
      DialogResult.Ignore
      DialogResult.Yes
      DialogResult.No
      

      【讨论】:

        猜你喜欢
        • 2014-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-25
        • 2011-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多