This question already has answers here:
show text box in FolderBrowserDialog
(3个答案)
3年前关闭。
我不确定在这里用谷歌搜索以解释我想做什么,所以我将在这里尝试:
我在代码中同时使用了
当对话框打开时,用户仅获得实际浏览文件/目录树的选项。
但是,在具有许多目录和子目录的树上,用户还可以选择手动隐式写入(或粘贴)希望转到的完整路径。
如何在代码中实现它?
这是使用对话框的两个功能:
使用FolderBrowserDialog:
使用OpenFileDialog:
Windows 7,Vista,XP等-您可以在 如果您使用的是Mono,则其他GUI标准对话框可能根本不提供此功能,因此您必须自己实现这些对话框。
(3个答案)
3年前关闭。
我不确定在这里用谷歌搜索以解释我想做什么,所以我将在这里尝试:
我在代码中同时使用了
OpenFileDialog
和FolderBrowserDialog
来分别浏览文件和目录。当对话框打开时,用户仅获得实际浏览文件/目录树的选项。
但是,在具有许多目录和子目录的树上,用户还可以选择手动隐式写入(或粘贴)希望转到的完整路径。
如何在代码中实现它?
这是使用对话框的两个功能:
使用FolderBrowserDialog:
private void buttonAddDirectory_Click(object sender, EventArgs e)
{
this.folderBrowserDialog = new System.Windows.Forms.FolderBrowserDialog();
folderBrowserDialog.SelectedPath = "C:\\";
if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
{
string selectedPath = folderBrowserDialog.SelectedPath;
if (!searchForFiles(selectedPath))
{
MessageBox.Show("The directory: " + selectedPath + " doesn't contain sequences.", "Error!");
return;
}
testForm.enableNumOfProcesses();
createNewCommand(runBatchScript, selectedPath, true);
}
}
使用OpenFileDialog:
private void buttonAddFile_Click(object sender, EventArgs e)
{
this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
openFileDialog.InitialDirectory = "C:\\";
openFileDialog.Filter = "PMD files (*" + sequenceExtenssion + ")|*" + sequenceExtenssion + "|All files (*.*)|*.*";
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
string selectedFile = openFileDialog.FileName;
if (Path.GetExtension(selectedFile).CompareTo(sequenceExtenssion) != 0)
{
MessageBox.Show("The file: " + selectedFile + " is not a sequence file.", "Error!");
return;
}
createNewCommand(batchRunExe, selectedFile, false);
}
}
最佳答案
根据您的用户使用的操作系统,此操作的执行方式有所不同:
D:
输入中键入metacommand(例如File name
),然后将执行此metacommand。或者,您可以将路径放入顶部的框中(需要单击它才能从导航 View 切换到输入 View )关于c# - 带有输入字段的FolderBrowserDialog,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14682702/
10-11 13:12