我有一个FolderBrowserDialog,显示如下所示的代码.但是,它会一直打开"计算机",即选中的文件夹树的根目录.如何在所选文件夹上打开它?
var folderBrowser = new FolderBrowserDialog();
folderBrowser.Description = "Select Chase 6 Installation Folder";
folderBrowser.RootFolder = Environment.SpecialFolder.MyComputer;
folderBrowser.ShowNewFolderButton = false;
if (Directory.Exists(Properties.Settings.Default.defaultChasePath))
{
string x = Properties.Settings.Default.defaultChasePath;
folderBrowser.SelectedPath = x;
}
if (folderBrowser.ShowDialog(this) == DialogResult.OK)
{
chasePathtext.Text = folderBrowser.SelectedPath;
}
Run Code Online (Sandbox Code Playgroud)
Pre*_*ick 20
如果将RootFolder设置为Environment.SpecialFolder.Desktop,则只要路径有效,它就会打开到SelectedFolder.
当您将RootFolder设置为Environment.SpecialFolder.MyComputer时,第一次打开对话框时,它将始终从MyComputer开始,而不是从SelectedFolder路径开始.
如果进行了有效选择,则将在先前选择的路径中打开相同FolderBrowserDialog实例的后续使用.
Laz*_*rus 10
从Microsoft帮助FolderBrowserDialog类:
通常,在创建新的FolderBrowserDialog之后,将RootFolder设置为开始浏览的位置.(可选)您可以将SelectedPath设置为最初将被选中的RootFolder子文件夹的绝对路径.
您是否可能将SelectedPath设置为不等于RootFolder(即我的电脑)子文件夹的位置?这可能会导致它作为呈现的位置潜回到RootFolder.
小智 9
将rootfolder设置为
Environment.SpecialFolder.Desktop
Run Code Online (Sandbox Code Playgroud)
它应该按你的意愿工作.
这是实际设置初始选定文件夹的唯一方法.你认为使用
Environment.SpecialFolder.MyComputer
Run Code Online (Sandbox Code Playgroud)
会工作,但事实并非如此.
这对我有用:
FolderBrowserDialog diag = new FolderBrowserDialog();
diag.Description = "Select a folder in which to save your workspace...";
diag.SelectedPath = Application.StartupPath;
if (DialogResult.OK == diag.ShowDialog())
{
// do something here...
}
Run Code Online (Sandbox Code Playgroud)
设置SelectedPath属性,而不是RootFolder.
编辑:这是一个截图,显示Application.StartupPath位于"C:\ LocalDocuments\Visual Studio 2010\Projects\FolderBrowserDialogTest\FolderBrowserDialogTest\bin\Debug"中,绝对不在 Desktop目录中.
归档时间: |
|
查看次数: |
84458 次 |
最近记录: |