使用savefileDialog选择文件夹路径

Luc*_*a's 13 c# visual-studio-2010 winforms

有没有办法使用对话框窗口来获取没有名称文件的文件夹路径?

Sqr*_*qrs 41

虽然是一个老问题,

我不喜欢那个丑陋的FolderBrowserDialog,所以这里有一个对我有用的技巧,它使用了SaveFileDialog

// Prepare a dummy string, thos would appear in the dialog
string dummyFileName = "Save Here";

SaveFileDialog sf = new SaveFileDialog();
// Feed the dummy name to the save dialog
sf.FileName = dummyFileName;

if(sf.ShowDialog() == DialogResult.OK)
{
    // Now here's our save folder
    string savePath = Path.GetDirectoryName(sf.FileName);
   // Do whatever
}
Run Code Online (Sandbox Code Playgroud)

  • 添加dialog.CheckFileExists = false; 将意味着使用可以浏览文件夹而不选择文件,虚拟将被接受. (7认同)
  • 对于`SaveFileDialog`,默认为false. (6认同)
  • 我还添加了 `sf.Filter = "Directory | directory";` 来向用户隐藏所有文件。 (2认同)

Wal*_*tiD 34

检查FolderBrowserDialog

// Bring up a dialog to chose a folder path in which to open or save a file.
private void folderMenuItem_Click(object sender, System.EventArgs e)
{
    var folderBrowserDialog1 = new FolderBrowserDialog();

    // Show the FolderBrowserDialog.
    DialogResult result = folderBrowserDialog1.ShowDialog();
    if( result == DialogResult.OK )
    {
        string folderName = folderBrowserDialog1.SelectedPath;
        ... //Do your work here!
    }
}
Run Code Online (Sandbox Code Playgroud)