6

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

所以我希望选择之前打开的文件夹,并且我希望它向下滚动以便之前的文件夹可见。

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

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

有什么想法吗?

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

“我已经在 Vista 32、XP 32、Win 7 32 和 64 上尝试过测试应用程序。它在除 Windows 7 之外的所有设备上都能正常工作。32 和 64 似乎都有同样的问题。”

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

4

4 回答 4

2

这对我有用

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

但只有在第二次使用对话框之后

于 2014-08-28T10:41:33.373 回答
2

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

于 2013-07-22T20:24:46.963 回答
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; 
    }

我从这个链接得到

如何在所选文件夹中打开 FolderBrowserDialog?

于 2012-09-14T18:47:26.647 回答
-1

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

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

更改 if 条件中的代码。

于 2012-09-14T18:32:45.363 回答