从对话中中止对话

Aborting a dialog from within the dialog

有2种形式FAFB
FA是初始表单并发出 FB.ShowDialog() 以启动 FBFB 启动良好,但随后遇到问题并希望中止,将控制权返回给 FA
我以为编码

Me.DialogResult = DialogResult.Cancel
Me.Close()

FB 遇到问题时就可以了。但是没有 - 代码继续运行,并且(大概是我的逻辑错误)一次又一次地遇到同样的问题。
我会解决逻辑问题,但是没有办法真正停止表单dead - 相当于 Me.AbortFormImmediately ?

两条评论都很棒,应该对提问者有帮助
我将以结束形式以两种方式发生的想法来扩展这个问题
按下后退按钮转到另一个表单
或者
标题栏关闭按钮(X)被选中
因为我厌倦了在每个表单上编写代码来管理这些流程
我在项目中添加了一个模块并添加了一个 Public Sub 来完成所有工作

只要稍加努力,就可以改进此模块代码

这是相关代码

模块

Module ModuleOne
Public Sub CloseTheForm()
    Const message As String = "YES Go To Form One" + vbCrLf + vbNewLine + "NO CANCEL"
    Const caption As String = "EXIT"

    Dim result = MessageBox.Show(message, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question)
    If result = DialogResult.Yes Then
        If frmThree.Visible Then
            frmThree.Hide()
            frmOne.Show()
        End If
        If frmFour.Visible Then
            frmFour.Hide()
            frmOne.Show()
        End If

    ElseIf result = DialogResult.No Then
        If frmThree.Visible Then
            frmThree.tbHaveTwo.Text = "CANCEL"
        End If
        If frmFour.Visible Then
            frmFour.tbFive.Text = "CANCEL"
        End If
    End If
End Sub End Module

frmThree的相关代码

    Private Sub btnBack_Click(sender As Object, e As EventArgs) Handles btnBack.Click
    tbHaveOne.Clear()
    CloseTheForm()
End Sub

Public Sub frmThree_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.Closing
    CloseTheForm()
    e.Cancel = True
End Sub

frmFour 的代码

    Public Sub frmFor_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.Closing
    CloseTheForm()
    e.Cancel = True
End Sub

Private Sub btnBack_Click(sender As Object, e As EventArgs) Handles btnBack.Click
    tbFour.Clear()
    CloseTheForm()
End Sub