2

我正在尝试在 Visual Studio 中使用 WPF 在 C# 中制作这个程序。这基本上就是它必须做的。

当在主窗体上单击一个名为“浏览”的按钮时,它将打开一个新的窗体/窗口,让用户可以浏览到他选择的任何目录。在他选择文件夹并单击“打开”(或该表单上的其他按钮)后,该目录的路径,例如“C:\temp”将存储在字符串变量中,以便以后使用。

我的第一个问题是,我在“浏览”按钮的偶数处理程序中写什么,它将打开一个窗口,让用户浏览并选择一个文件夹?是否有我可以使用的默认窗口,或者我必须为其创建一个新表单?请注意,用户必须选择一个文件夹,而不是像默认“打开”窗口那样的文件。

其次,我如何引用一个字符串变量,以便它存储用户选择的目录的路径?

4

3 回答 3

5

您正在寻找的类型是OpenFileDialog

http://msdn.microsoft.com/en-us/library/system.windows.forms.openfiledialog.aspx

基本用法如下

using (FileDialog fileDialog = new OpenFileDialog()) {
  if (DialogResult.Ok == fileDialog.ShowDialog()) {
    string fileName = fileDialog.FileName;
    ...
  }
}

编辑

评论澄清了 OP 正在寻找打开一个目录与一个文件。为此,您需要FolderBrowseDialog

var dialog = new System.Windows.Forms.FolderBrowserDialog();
System.Windows.Forms.DialogResult result = dialog.ShowDialog();
于 2013-03-16T02:10:59.440 回答
1

对于选择目录,您应该使用FolderBrowserDialog. 它是来自 WinForms 的控件。WPF 没有它自己的。

例如:

var dialog = new FolderBrowserDialog();
var result = dialog.ShowDialog();
if (result == DialogResult.OK)
    // ...

不要忘记添加对System.Windows.Forms.

于 2013-03-16T02:33:52.847 回答
1

只需在按钮单击上执行此操作

        FileDialog fileDialog = new OpenFileDialog();
        fileDialog.ShowDialog();
        folderpathTB.Text = fileDialog.FileName;

(folderpathTB 是 TextBox 的名称,我想在其中放置文件路径,或者您也可以将其分配给字符串变量)

于 2015-11-07T04:54:03.520 回答