我从 VB6 转换了这个应用程序。我有 2 个表格。Form1 通过菜单项实例化 Form2。单击关闭 (X) 时,我无法让 Form2 结束。如果 Form2 是“空闲”,它会很好地关闭;但是如果我在一个循环中处理任何所有事件都会触发,但它会继续在 Form2 中处理。我尝试过处理 Dispose、Close、Application.Exit、Application.ExitThread。我的最后一次尝试是创建我自己的事件来回火 Form1 并处理 Form2——它击中了它,但 Form2 仍在运行。什么是交易?顺便说一句,如果我只使用 Show vs ShowDialog - Form2 只是闪烁并消失。
Form1 does this
Dim f2 as Import
:
Hide()
f2 = New Import
AddHandler f2.die, AddressOf killf2
f2.ShowDialog(Me)
Show()
Private Sub killf2()
f2.Dispose()
f2 = Nothing
End Sub
Form2
Public Event die()
Private Shadows Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
Dispose()
Close()
e.Cancel = False
RaiseEvent die()
End Sub