Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在OpenFileDialog中使用DialogResult.OK时出错_C#_.net_Wpf_Openfiledialog - Fatal编程技术网

C# 在OpenFileDialog中使用DialogResult.OK时出错

C# 在OpenFileDialog中使用DialogResult.OK时出错,c#,.net,wpf,openfiledialog,C#,.net,Wpf,Openfiledialog,我从我的另一个项目中复制了一个OpenFileDialog,但它在新项目中不起作用 OpenFileDialog open = new OpenFileDialog(); open.Filter = "Binary|*.bin"; open.RestoreDirectory = true; open.Multiselect = false; try { if (open.ShowDialog

我从我的另一个项目中复制了一个OpenFileDialog,但它在新项目中不起作用

 OpenFileDialog open = new OpenFileDialog();
        open.Filter = "Binary|*.bin";
        open.RestoreDirectory = true;
        open.Multiselect = false;
        try
        {
            if (open.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
               //some code
            }
        }...
错误表明我缺少一个参考。 因此,我尝试配置引用,但当我单击System.Windows.Forms复选框时,它表示我无法使用它,因为ActiveX库是从.NET程序集导入的,无法添加。在我以前的项目中,我添加了参考,一切正常。如何添加对.NET程序集的引用

奖金:为什么会这样?在VisualStudio中是否有任何理由阻止添加引用


-编辑-这是一个WPF应用程序,我正在将VisualStudio 2017与.NET Framework 4.5.2一起使用,请尝试将winform引用替换为false

改变这个

if (open.ShowDialog() == System.Windows.Forms.DialogResult.OK)
对此

if (open.ShowDialog() == true)

项目类型?框架版本?可能是从winfrom应用程序复制。去wpf路不,我查过了。这是相同的应用程序@为什么要引用windows窗体open.ShowDialog()==System.windows.Forms.DialogResult。OK@Thomas他的意思是,在WinForms中,它使用了
对话框result
,但在WPF中,它不使用,并且需要一个布尔值来检查对话框是否存在,由于WPF从对话框使用的
窗口传回的内容。因此,即使您可以在WPF中引用
System.Windows.Forms
,这也没关系,因为
Window
对象没有传回
DialogResult
,而是一个布尔值,表示它是活动的。工作正常。非常感谢。