C# 在OpenFileDialog中使用DialogResult.OK时出错
我从我的另一个项目中复制了一个OpenFileDialog,但它在新项目中不起作用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 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
,而是一个布尔值,表示它是活动的。工作正常。非常感谢。