Visual Basic打开文件对话框

时间:2013-12-20 09:53:36

标签: vb.net

我想通过单击按钮打开文件对话框但是我只希望它打开到我设置的文件路径,并且用户只能编辑该文件夹,这可能吗?

1 个答案:

答案 0 :(得分:1)

不,如果他/她有权去那里,就无法阻止用户导航到其他目录。 OpenFileDialog不提供阻止当前目录的任何基础结构。

有一个FolderBrowserDialog类,但这仅用于选择文件夹而不用于选择文件。

您可以在打开对话框之前设置InitialDirectory属性,并检查用户是否使用FileOk事件选择另一个目录中的文件而不关闭对话框

Dim openFileDialog1 As New OpenFileDialog()
openFileDialog1.InitialDirectory = "c:\temp\testpath"
openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
openFileDialog1.FilterIndex = 2
openFileDialog1.RestoreDirectory = True 
.......


Private Sub openFileDialog1_FileOk(ByVal sender As Object, _
       ByVal e As System.ComponentModel.CancelEventArgs) _
       Handles OpenFileDialog1.FileOk

    Dim ofd = CType(sender, OpenFileDialog)
    if ofd.Filename <> string.Empty Then
        if Path.GetDirectoryName(ofd.Filename).ToLower() <> "c:\temp\testpath" Then
            MessageBox.Show("Please choose a file only from C:\TEMP\TESTPATH folder")
            ' Just cancel the OK, not found any way to reposition the dialog on the correct folder'
            e.Cancel = true
        Endif
    End If
End Sub