【发布时间】:2017-08-09 12:47:52
【问题描述】:
我从我的其他项目之一复制了一个 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-Library 是从 .NET-Assembly 导入的,并且无法添加。在我之前的项目中,我添加了参考,一切正常。如何添加对 .NET-Assembly 的引用?
奖励:为什么会这样?是否有任何理由在 VisualStudio 中阻止添加引用?
-Edit-它是一个 WPF 应用程序,我正在使用带有 .NET Framework 4.5.2 的 VisualStudio 2017
【问题讨论】:
-
项目类型?框架版本?
-
可能是您从 winfrom 应用程序复制。走 wpf 方式wpf-tutorial.com/dialogs/the-openfiledialog
-
不,我检查过了。这是同一个应用程序。 @Harsh
-
那你为什么要引用windows form open.ShowDialog() == System.Windows.Forms.DialogResult.OK
-
@Thomas 他的意思是,在 WinForms 中,它使用
DialogResult,但在 WPF 中,它没有,并且需要一个布尔值来检查对话框是否存在,因为 WPF从您用于对话的Window对象传回。因此,即使您可以在 WPF 中引用System.Windows.Forms,也没关系,因为Window对象没有传回DialogResult,而是一个布尔值,表示它是活着的。
标签: c# .net wpf openfiledialog