在FolderBrowserDialog中单击“确定”时表单关闭 - vb.net

时间:2015-07-22 13:08:25

标签: vb.net forms path folderbrowserdialog

我有Main表单和Options表单,点击Main表单中的“选项”按钮即可开始。在Options表单中,我必须选择工作路径。单击Options表单中的“确定”按钮返回Main表单时,我想检查工作路径是否存在:

If My.Computer.FileSystem.DirectoryExists(TextBoxWorkPath.Text) Then
   Main.WorkPath = TextBoxWorkPath.Text
Else
   MessageBox.Show("Please, enter a valid work path.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
   ButtonChangePath_Click(sender, New System.EventArgs())
End If

ButtonChangePath_Click()Options形式)背后的代码是:

Private Sub ButtonChangePath_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonChangePath.Click
        Dim fb = New FolderBrowserDialog
        fb.Description = "Select the destination folder for the output files:"
        If fb.ShowDialog() = DialogResult.OK Then
            TextBoxWorkPath.Text = fb.SelectedPath
        End If
End Sub

当我检查工作路径是否存在时,我再次打开FolderBrowserDialog以选择正确的路径。但是当我点击“确定”后,Options表单会关闭并转到Main表单。如果我再次单击“选项”按钮,则工作路径与之前相同。

1 个答案:

答案 0 :(得分:1)

最后,我修好了。我必须在If语句中放置Windows.Forms.DialogResult.None,以便不关闭Options表单。

If My.Computer.FileSystem.DirectoryExists(TextBoxWorkPath.Text) Then
    Main.WorkPath = TextBoxWorkPath.Text
Else
    MsgBox("Please, enter a valid work path.", MsgBoxStyle.Exclamation, "Attention!")
    Me.DialogResult = Windows.Forms.DialogResult.None
End If

因此,点击OK按钮时,仍然保持Options形式。