选择并在文本框中显示完整路径

时间:2013-12-05 22:08:39

标签: .net vb.net

我正在尝试使用浏览对话框允许用户选择文件夹,然后在文本框中显示文件夹的完整路径。我还试图检查用户是否在文本框中键入路径,然后检查文件夹是否存在,如果没有创建它并将完整路径放在文本框中。这是我到目前为止所拥有的。

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

2 个答案:

答案 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应该是绝对路径。