我有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
表单。如果我再次单击“选项”按钮,则工作路径与之前相同。
答案 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
形式。