vb.net的winform中,如何关闭所有子窗口而不显示子窗口的是否关闭提示?

时间:2021-02-03 23:41:34
rt
我的每个子窗口都有“确定是否关闭”的对话框,我在父窗口的关闭事件里写了:
Application.Exit()
当我关闭父窗口时,每个子窗口都弹出“确定是否关闭”的对话框,当我按了N次确定关闭后才能关闭所有窗口。

请问要怎样做才能关闭父窗口时,直接关闭所有子窗口时不会同时弹出子窗口的“确定是否关闭”的对话框?

6 个解决方案

#1




Private Sub Form_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
for i as int16=0 to me.MdiChildren.Length-1
me.mdichildren(i).close
next
End Sub

#2


不好意思,有点错误.
Private Sub Form_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
for i as int16=me.MdiChildren.Length-1 to 0 step -1
me.mdichildren(i).close
next
End Sub

#3


谢谢LYDF4151,你的代码我试了一下,还是出现同样的问题!

#4


那是你的程序中关闭事件里写了提示了。 
如果你把关闭 事件里的 代码删掉就好了。 
程序默认是不可能出现你所谓的提示的。 
检查一下你每个窗体的  Closing 事件 。

#5


我的子窗口里的closing事件里有确认关闭提示,我是想在关闭子窗口时能分别提示是否关闭,而关闭父窗口时,就直接关闭所有窗口,不用提示子窗口的确认关闭提示。
请帮忙!

#6


对于一个MDI应用程序,关闭父窗体首先是要触发子窗体的FormClosing事件,然后才触发主窗体的FormClosing事件,如果用常规方法的话,估计不行!

但是,我觉得可以用一个Boolean变量来控制子窗体的关闭提示,你最好是先查一下MSDN中事件触发的顺序,来做决定!

(另外:0分帖不是好帖...)

#1




Private Sub Form_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
for i as int16=0 to me.MdiChildren.Length-1
me.mdichildren(i).close
next
End Sub

#2


不好意思,有点错误.
Private Sub Form_Closed(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Closed
for i as int16=me.MdiChildren.Length-1 to 0 step -1
me.mdichildren(i).close
next
End Sub

#3


谢谢LYDF4151,你的代码我试了一下,还是出现同样的问题!

#4


那是你的程序中关闭事件里写了提示了。 
如果你把关闭 事件里的 代码删掉就好了。 
程序默认是不可能出现你所谓的提示的。 
检查一下你每个窗体的  Closing 事件 。

#5


我的子窗口里的closing事件里有确认关闭提示,我是想在关闭子窗口时能分别提示是否关闭,而关闭父窗口时,就直接关闭所有窗口,不用提示子窗口的确认关闭提示。
请帮忙!

#6


对于一个MDI应用程序,关闭父窗体首先是要触发子窗体的FormClosing事件,然后才触发主窗体的FormClosing事件,如果用常规方法的话,估计不行!

但是,我觉得可以用一个Boolean变量来控制子窗体的关闭提示,你最好是先查一下MSDN中事件触发的顺序,来做决定!

(另外:0分帖不是好帖...)