如何在Visual Studio 2010中使用C#的OpenFileDialog?

5

我编写了一个自定义对话框(表单),可以在C#程序中使用,其行为类似于“文件 - 打开”菜单命令,并弹出窗口,用户可以选择文件或目录。

我的问题是这样的。 它以“My Computer”作为根目录。 如何使它在网络上搜索? 如果文件或目录位于网络上。

更好的方法是,在Visual Studio 2010中,是否有一些预先准备好的FileOpenDialog可以立即使用?

我尝试调用OpenFileDialog,如http://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog.aspx中的示例代码所述,但编译器似乎不喜欢此行中使用的DialogResult.OK

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

编译器报错:

Error 1 'System.Nullable' 不包含名为 'OK' 的定义,也未找到接受类型为 'System.Nullable' 的第一个参数的扩展方法 'OK' (是否缺少 using 指令或程序集引用?)

我尝试使用 Microsoft.Win32 命名空间代替 System.Windows.Forms,但两者都会产生这个错误。请注意保留 HTML 标签。
2个回答

9

看起来你正在尝试使用WinForms (System.Windows.Forms) 对话框。
这里是Microsoft.Win32命名空间下的WPF对话框页面的MSDN文档

一个摘录:

Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
dlg.FileName = "Document"; // Default file name
dlg.DefaultExt = ".txt"; // Default file extension
dlg.Filter = "Text documents (.txt)|*.txt"; // Filter files by extension

// Show open file dialog box
bool? result = dlg.ShowDialog();

2

编辑:忘记添加WPF标记。是我的错。请参照Henk Holterman的说法。

你是否已经添加了示例中告诉你的命名空间:System.IO

我可能错了,但听起来你创建了一个名为DialogResult的变量,其类型为System.Nullable


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接