我正在尝试使用浏览对话框允许用户选择文件夹,然后在文本框中显示文件夹的完整路径。我还试图检查用户是否在文本框中键入路径,然后检查文件夹是否存在,如果没有创建它并将完整路径放在文本框中。这是我到目前为止所拥有的。
Dim directory As System.IO.DirectoryInfo
Dim fullPath As String
fullPath = FolderBrowserDialog1.SelectedPath
If (Not System.IO.Directory.Exists(fullPath)) Then
'get full path
System.IO.Directory.CreateDirectory(fullPath)
'diplay full path in text box
directoryPath.Text = fullPath.GetFullPath(fullPath)
Else
'diplay full path in text box
directoryPath.Text = fullPath.GetFullPath(fullPath)
End If
答案 0 :(得分:1)
当你有
时folderBrowserDialog1.ShowNewFolderButton = True
FolderBrowser控件在用户按下按钮时创建文件夹,并且不需要您在代码中手动创建它。它在完成创建文件夹后将控制权返回给您的应用程序。如果用户决定只选择一个文件夹,则在与创建的文件夹名称相同的属性中返回所选的文件夹名称。例如:
Dim result As DialogResult = Me.FolderBrowserDialog1.ShowDialog()
If result = DialogResult.OK Then
directoryPath.Text = Me.FolderBrowserDialog1.SelectedPath
Else
directoryPath.Text = String.Empty
End If
但是,我想建议这种控制很危险,因为用户可能会搞砸了。请参阅:this。
答案 1 :(得分:0)
用户应该如何选择不可用的目录?您可以将ShowNewFolderButton
设置为true
。
C#:
using (var dialog = new FolderBrowserDialog())
{
dialog.ShowNewFolderButton = true;
if (dialog.ShowDialog() == DialogResult.OK)
{
directoryPath.Text = dialog.SelectedPath;
}
}
然而SelectedPath
应该是绝对路径。