文件夹浏览器对话框的问题

Inv*_*ker 6 c# winforms

如果对话框中点击Make newfolder,就开始编辑刚刚创建的文件夹的名称并点击OK,OKdialogrezalt返回,但是在属性中SelectedPath他将文件夹命名为Newfolder,然后就有了默认的名称

发生这种情况是因为当我们创建时,只需编辑并单击“确定”,该属性不会更新并且方法ShowDialog ()会返回。

如何解决这个问题?

谢谢你!

Jal*_*aid 0

我无法模拟你所描述的问题,我已经测试过:

创建一个新的Form Form1添加button1到它并在button1.Click处理程序中复制以下代码:

private void button1_Click(object sender, EventArgs e)
{
    using (FolderBrowserDialog dialog = new FolderBrowserDialog())
    {
        dialog.ShowNewFolderButton = true;

        if (dialog.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
        {
            string path = dialog.SelectedPath;

            Console.WriteLine(path);//will not print new folder if the file renamed.
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

通过创建一个新文件夹并按两次 Enter 键,它按预期工作。或者创建一个新文件夹并单击“确定”。您是否使用第三方 UI 控件,他们...

编辑:你说:

是的,如果此示例在 Windows 应用程序中运行,则它可以正常工作。但我的应用程序是 Excel 插件。我在开始帖子中写的FolderBrowserDialog工作

因此,您正在使用第三方“Excel 加载项”,当使用第三方时FolderBrowserDialogOpenFileDialog.. 您可能会注意到取决于第三方的奇怪行为。

您所描述的问题的解决方案是禁用ShowNewFolderButton或实现您自己的自定义OpenFileDialog.