Mdi窗口 ,如何在父窗口关闭子窗口?

时间:2022-07-17 23:53:45
第一, if (this.ActiveMdiChild != null)
            {
                this.ActiveMdiChild.Close(); //关闭已经打开的子窗体
               
            }
无效,为什么activeMdiChild==null?
第二 foreach (Form childrenForm in this.MdiChildren) 
       { 
           childrenForm .close();
       { 
直接跳出循环,MdiChildren 为空

6 个解决方案

#1


求回复!求解答

#2


建议你把打开的子窗体进行集合管理,需要关闭的时候,直接到集合里查出来关闭。


#3


引用 2 楼 libinguest 的回复:
建议你把打开的子窗体进行集合管理,需要关闭的时候,直接到集合里查出来关闭。

请问如何获取打开的子窗体?

#4


引用 3 楼 ouyizhao 的回复:
Quote: 引用 2 楼 libinguest 的回复:

建议你把打开的子窗体进行集合管理,需要关闭的时候,直接到集合里查出来关闭。

请问如何获取打开的子窗体?


在打开的时候添加到一个集合。关闭的时候从集合中删除。
集合内部只保留你打开的子窗体对象。

#5


楼上正解,保存窗体对象到集合里,然后对集合进行操作

#6


引用 4 楼 libinguest 的回复:
Quote: 引用 3 楼 ouyizhao 的回复:

Quote: 引用 2 楼 libinguest 的回复:

建议你把打开的子窗体进行集合管理,需要关闭的时候,直接到集合里查出来关闭。

请问如何获取打开的子窗体?


在打开的时候添加到一个集合。关闭的时候从集合中删除。
集合内部只保留你打开的子窗体对象。

为啥我原来说的那两种方式都不行?

#1


求回复!求解答

#2


建议你把打开的子窗体进行集合管理,需要关闭的时候,直接到集合里查出来关闭。


#3


引用 2 楼 libinguest 的回复:
建议你把打开的子窗体进行集合管理,需要关闭的时候,直接到集合里查出来关闭。

请问如何获取打开的子窗体?

#4


引用 3 楼 ouyizhao 的回复:
Quote: 引用 2 楼 libinguest 的回复:

建议你把打开的子窗体进行集合管理,需要关闭的时候,直接到集合里查出来关闭。

请问如何获取打开的子窗体?


在打开的时候添加到一个集合。关闭的时候从集合中删除。
集合内部只保留你打开的子窗体对象。

#5


楼上正解,保存窗体对象到集合里,然后对集合进行操作

#6


引用 4 楼 libinguest 的回复:
Quote: 引用 3 楼 ouyizhao 的回复:

Quote: 引用 2 楼 libinguest 的回复:

建议你把打开的子窗体进行集合管理,需要关闭的时候,直接到集合里查出来关闭。

请问如何获取打开的子窗体?


在打开的时候添加到一个集合。关闭的时候从集合中删除。
集合内部只保留你打开的子窗体对象。

为啥我原来说的那两种方式都不行?