在 FolderBrowserDialog 中单击“确定”时表单关闭 - vb.net
Form closes when clicking OK in a FolderBrowserDialog - vb.net
我有一个 Main
表单和一个 Options
表单,它们在单击 Main
表单中的 "Options" 按钮时启动。在 Options
表格中,我必须 select 工作路径。当点击Options
表单中的"OK"按钮返回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
到 select 一个正确的路径。但是,当我单击 "OK" 时,Options
表单关闭并转到 Main
表单。如果我再次点击 "Options" 按钮,工作路径与之前相同。
终于,我修好了。我不得不将 Windows.Forms.DialogResult.None
放在 If 语句中,以免关闭 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
形式。
我有一个 Main
表单和一个 Options
表单,它们在单击 Main
表单中的 "Options" 按钮时启动。在 Options
表格中,我必须 select 工作路径。当点击Options
表单中的"OK"按钮返回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
到 select 一个正确的路径。但是,当我单击 "OK" 时,Options
表单关闭并转到 Main
表单。如果我再次点击 "Options" 按钮,工作路径与之前相同。
终于,我修好了。我不得不将 Windows.Forms.DialogResult.None
放在 If 语句中,以免关闭 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
形式。