设置自定义FolderBrowserDialog.RootFolder
问题描述:
我的应用程序想为客户提供一系列选项集。每套包含60个选项,主题变体。这些集合存储在一个文件夹中。 Set1 set2等。我想使用文件夹浏览器来选择一组,但我不希望用户看到整个驱动器。我想将根文件夹设置为父集。我尝试过使用RootFolder,但是我发现这是行不通的。我也尝试使用fileopenDialog,但我无法选择一个文件夹。有第三种选择吗?设置自定义FolderBrowserDialog.RootFolder
答
RootFolder排序作品当与SelectedPath
Using fbd As New FolderBrowserDialog
fbd.RootFolder = Environment.SpecialFolder.MyComputer
fbd.SelectedPath = "H:\temp\scans"
If fbd.ShowDialog = Windows.Forms.DialogResult.OK Then
MsgBox(fbd.SelectedPath)
End If
End Using
这至少显示所需的文件夹相结合 - 所有其它路径仍然可用,如果用户向上滚动。
这是我发现使用标准的OpenFileDialog在网上搜索最接近:
Using obj As New OpenFileDialog
obj.Filter = "foldersOnly|*.none"
obj.CheckFileExists = False
obj.CheckPathExists = False
obj.InitialDirectory = "C:\temp"
obj.CustomPlaces.Add("H:\OIS") ' add custom location
obj.CustomPlaces.Add("H:\Permits") ' add custom location
obj.Title = "Select folder - click Open to return opened folder name"
obj.FileName = "OpenFldrPath"
If obj.ShowDialog = Windows.Forms.DialogResult.OK Then
MsgBox(IO.Directory.GetParent(obj.FileName).FullName)
End If
End Using
编辑CustomPlaces.Add()为您的环境 - 这些文件夹显示在右上方的导航面板。
`obj.FileName =“OpenFldrPath””是有问题 - 在什么可以例如被用来限制一个短语失败。
注意到关于开放两次点击返回文件路径。
使用'System.IO.Directory.GetFiles()'和'一个ListBox'? – dummy
您可以通过让用户命名集合来隐藏用户的所有实现细节。然后当他们选择一个名字时 - 你的代码为它们加载相关的集合。不需要**他们**来记住“set01”的含义或者他们存储的位置。 – Plutonix