FolderBrowserDialog显示SelectedPath问题

时间:2012-09-14 17:45:54

标签: c# winforms

所以我有一个文件夹浏览器对话框,并且遇到选定路径的问题。

所以我想要打开的前一个文件夹被选中,我希望它向下滚动,以便前一个文件夹可见。

现在奇怪的是,这种方法很好,但有时只是。这完全是随机的。路径始终突出显示,但并不总是向下滚动。

有时当我开始调试并点击浏览时,它会打开并向下滚动到我想要的位置。然后我单击确定,再次单击“浏览”,它是否完全随机,无论它是否向下滚动到应该的位置。

有什么想法吗?

编辑:我搜索了很多,发现this。它似乎与我的问题非常相似。

  

“我在Vista 32,XP 32,Win 7 32和64上尝试过测试应用程序。除了Windows 7之外,其他所有内容都能正常运行.32和64似乎都有同样的问题。”

他们说这是Windows 7的一个小故障......?

4 个答案:

答案 0 :(得分:2)

我最终使用了Ookii dialogs文件夹浏览器对话框。老实说,它比默认文件夹浏览器好得多。它还附带一个示例,向您展示如何使用它。

答案 1 :(得分:2)

这对我有用

folderBrowserDialog1.Reset();  
folderBrowserDialog1.RootFolder = Environment.SpecialFolder.MyComputer;
folderBrowserDialog1.SelectedPath = WorkingFolder;

但仅在第二次使用对话框

之后

答案 2 :(得分:0)

    FolderBrowserDialog folderBrowser = new FolderBrowserDialog(); 
    folderBrowser.Description = "Select Chase 6 Installation Folder"; 
    folderBrowser.RootFolder = Environment.SpecialFolder.ProgramFiles; 
    folderBrowser.ShowNewFolderButton = false; 

    if (Directory.Exists(Properties.Settings.Default.defaultChasePath)) 
    { 
        string x = Properties.Settings.Default.defaultChasePath; 

        //Use API Flag to set correct path, following tahter a catch all better to check
        //enum for full list
        RootSetter.SetRootFolder(folderBrowser, RootSetter.CsIdl.FlagDontVerify);

        folderBrowser.SelectedPath = x;

    } 
    if (folderBrowser.ShowDialog(this) == DialogResult.OK) 
    { 
        string huz = folderBrowser.SelectedPath; 
    }

我从这个链接

How do I open a FolderBrowserDialog at the selected folder?

答案 3 :(得分:-1)

将所选路径设置为最后一个文件夹路径,以便向下滚动。

if (folderDialog.ShowDialog() ==  DialogResult.OK)
{
   Properties.Settings.Default.Path = folderDialog.SelectedPath;
   Properties.Settings.Default.Save();
}

如果条件,请更改内部代码。