浏览到目录并将Path存储在字符串中(C#)

时间:2013-03-16 02:09:12

标签: c# string file-io dialog

我正在尝试使用Visual Studio中的WPF在C#中创建此程序。这基本上就是它必须做的事情。

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

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

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

3 个答案:

答案 0 :(得分:4)

您要查找的类型是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();

答案 1 :(得分:1)

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

例如:

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

不要忘记添加对System.Windows.Forms的引用。

答案 2 :(得分:1)

只需在按钮上单击

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

(folderpathTB是TextBox的名称,我将wana放入文件路径,或者你也可以将它分配给字符串变量)