C# FolderBrowserDialog出现问题

C# FolderBrowserDialog出现问题,c#,winforms,C#,Winforms,如果对话框单击“创建新文件夹”,只需开始编辑名称“只需创建一个文件夹”并单击“确定”,确定对话框REZALT将返回,但在属性SelectedPath中,他将文件夹命名为“新文件夹”,然后是默认文件夹的名称 发生这种情况的原因是,当我们创建时,只需编辑并单击“确定”,此属性不会更新,并且方法ShowDialog()会返回 如何解决这个问题 谢谢大家! 我无法模拟您描述的问题,我已对其进行了测试: 创建一个新的表单表单1添加按钮1,并在按钮1中。单击处理程序复制此代码: private void b

如果对话框单击“创建新文件夹”,只需开始编辑名称“只需创建一个文件夹”并单击“确定”,确定对话框REZALT将返回,但在属性
SelectedPath
中,他将文件夹命名为“新文件夹”,然后是默认文件夹的名称

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

如何解决这个问题


谢谢大家!

我无法模拟您描述的问题,我已对其进行了测试:

创建一个新的
表单
表单1
添加
按钮1
,并在
按钮1中。单击
处理程序复制此代码:

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.
        }
    }
}
通过创建一个新文件夹并按enter键两次,它可以按预期工作。或者创建一个新文件夹并单击“确定”。 您使用的是第三方UI控件吗

编辑:您声明:


是的,如果此示例在windows应用程序上运行,它将正常工作。但是 我的应用程序是Excel加载项。和FolderBrowser对话我的工作 投稿

因此,当使用带有
FolderBrowserDialog
OpenFileDialog
的第三方时,您使用的是第三方“Excel加载项”。。根据第三方的情况,您可能会注意到一种奇怪的行为


您描述的问题的解决方案是禁用
ShowNewFolderButton
或实现您自己的自定义
OpenFileDialog
我也遇到了同样的问题-如果您使用FolderBrowseDialog创建了一个新文件夹,则.SelectedPath显示的是“xxx\NewFolder”,而不是用户指定的任何新名称

在显示对话框之前,当我明确发出命令时,问题就消失了


MyFolderBrowser.ShowNewFolderButton=True

哪个框架版本?如果您可以利用刚刚打开的编辑器窗口顶部显示的格式化功能,那就太好了。例如,您可以使用
useThisToTellCode
nameOfProperties
。就个人而言,我很难理解你的帖子,但如果至少格式是properer.FW version-4.0,那就容易多了。我在应用程序中使用了FolderBrowserDialog。如果我尝试在FolderBrowser对话框中创建“新文件夹”,并在尝试重命名“新文件夹”并单击“确定”(不输入)后立即创建,SelectedPath属性的路径中有“新文件夹”,而不是我在重命名时输入的名称。我也看到了同样的问题。时断时续。有人找到了解决方案吗?我也遇到了同样的问题,而且事实上它并不总是可重复的。是的,如果这个示例在windows应用程序上运行,那么它工作正常。但我的应用程序是Excel加载项。我在发帖时写的FolderBrowserDialog工作。我明白了,结果问题有点复杂。使用第三方“您的案例中的Excel加载项”时,您可能会注意到一种奇怪的行为。我能想到的解决方案是禁用
ShowNewFolderButton
,或者构建一个自定义的打开文件对话框……这对我很有用!谢谢=)