如何在C#中创建这种类型的选择文件夹对话框?

时间:2015-04-28 10:58:08

标签: c# .net visual-studio-2013

所以我最近尝试了FolderBrowserDialog,但令我失望的是,它不像下面的屏幕截图:

http://i.imgur.com/s2LHqxA.png

但是它被格式化了,而且我觉得很难像这样导航: http://i.imgur.com/rfSnt8C.png

我如何获得另一个版本,它是一个对话框,询问要保存哪个文件夹,就像本机选择文件类型一样,而不是我认为难以导航的菜单。

2 个答案:

答案 0 :(得分:6)

NuGet包“Microsoft.WindowsAPICodePack-Shell”中的 CommonOpenFileDialog 类将回答您的请求。

将IsFolderPicker属性设置为 true ,就是这样。

using Microsoft.WindowsAPICodePack.Dialogs;     

private bool SelectFolder(out string fileName)
{
    CommonOpenFileDialog dialog = new CommonOpenFileDialog();
    dialog.IsFolderPicker = true;
    if (dialog.ShowDialog() == CommonFileDialogResult.Ok)
    {
        fileName = dialog.FileName;
        return true;
    }
    else
    {
        fileName = "";
        return false;
    }
}

答案 1 :(得分:1)

那是因为您使用的是FolderBrowserDialog而不是OpenFileDialog

您可以查看以下内容

 private void btnBrowse_Click(object sender, EventArgs e)
        {
            OpenFileDialog fileDialog = new OpenFileDialog();
            fileDialog.Title = "Browse File";
            fileDialog.Filter = "All files (*.*)|*.*|All files (*.*)|*.*";
            fileDialog.FilterIndex = 2;
            fileDialog.InitialDirectory = "c:\\";
            fileDialog.RestoreDirectory = true;

            if (fileDialog.ShowDialog() == DialogResult.OK)
            {
                txtFileName.Text = fileDialog.FileName;
            }
        }