如何在退出辅助表单时重新加载主表单?例如,如果 frmMain 是主窗体,而您将其隐藏以加载另一个名为 GenerateNumbers 的窗体,那么当用户退出 GenerateNumbers 时,您如何取回 frmMain?
最佳答案
最好的方法是向子窗体的 Closing
事件添加一个事件处理程序。这样,主窗体将在子窗体关闭时收到通知,然后它可以重新显示自己。例如:
AddHandler frmChild.Closing, AddressOf ChildClosing
frmChild.Show()
Me.Hide()
'....
Private Sub ChildClosing(sender As Object, e As EventArgs)
RemoveHandler CType(sender, Form).Closing, AddressOf ChildClosing
Me.Show()
End Sub
正如其他人所说,如果您使用 ShowDialog
方法显示子窗体,那就容易多了。事实上,如果你这样做,那么就真的没有理由隐藏主窗体,你可以将主窗体作为所有者传递到对话框中:
frmChild.ShowDialog(Me)
提示:如果不隐藏主窗体,请将子窗体的起始位置属性设置为以所有者为中心。
或者,您可以提供对主窗体的引用,以便它可以在关闭时使主窗体可见,但我认为这是最不可取的选择。
关于vb.net - 在 Visual Basic 中退出时打开和关闭表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13811278/