2017-08-09 94 views
1

我从其他项目中复制了一个OpenFileDialog,但它不适用于新项目。在OpenFileDialog中使用DialogResult.OK时出错

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-Library是从.NET程序集导入并且无法添加它。在我以前的项目中,我添加了参考,一切正常。我如何添加对.NET程序集的引用?

奖励:为什么会发生这种情况?是否有任何理由在Visual Studio中阻止添加引用?

CNC中这是一个WPF的应用程序,我使用的VisualStudio 2017的.NET Framework 4.5.2

+1

项目类型?框架版本? – Gusman

+1

可能是您正在从winfrom应用程序复制。去wpf的方式http://www.wpf-tutorial.com/dialogs/the-openfiledialog/ – Harsh

+0

不,我检查了。这是同一个应用程序。 @Harsh – Thomas

回答

2

尝试用虚假的取代WinForm的参考。

更改此

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

这个

if (open.ShowDialog() == true) 
+0

工作正常。谢谢! – Thomas

+0

请标记为已回答:) – Harsh