【发布时间】:2013-10-01 09:32:37
【问题描述】:
我想用 vb.net 创建 2 个窗体
第一个窗体是主窗体,第二个窗体是子窗体,它们在运行程序时同时出现
当我关闭子窗口窗体时,它不会关闭我的程序,如果我关闭主窗口窗体,它将关闭我的程序。
我该怎么做?
【问题讨论】:
-
关闭子表单后,您需要重新打开它们
标签: vb.net winforms vb.net-2010
我想用 vb.net 创建 2 个窗体
第一个窗体是主窗体,第二个窗体是子窗体,它们在运行程序时同时出现
当我关闭子窗口窗体时,它不会关闭我的程序,如果我关闭主窗口窗体,它将关闭我的程序。
我该怎么做?
【问题讨论】:
标签: vb.net winforms vb.net-2010
当您打开第二个表单时,将所有者设置为父表单,当您关闭父表单时,它也会强制子表单关闭。我相信(至少在 VB 历史上似乎曾经这样做过)如果你隐藏父级,它也会隐藏子级。
如果您使用SHOW 显示您的“子表单”,请将父表单传递给它,如下所示:
Form2.show(Form1)
【讨论】:
如果您在子表单关闭时尝试关闭所有者表单并且(如果所有者是整个程序的起始表单)结束程序,那么您首先要执行史蒂夫回答的分配 form1作为 form2 的所有者。
然后,要让子窗体关闭父窗体,在form2的FormClosed事件中使用以下代码:
Private Sub Form2_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
Me.Owner.Dispose()
End Sub
【讨论】: