C#父窗体监听子窗体关闭事件

qq_33173927 2016-06-20 04:41:15
父窗体打开一个子窗体同时改变父窗体大小已经会写了,结果关闭一个子窗体后如何后面还有子窗体就不会改变父窗体大小,用foreach语句让父窗体读取当前激活的子窗体又不行,怎么改
...全文
1043 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
其实程序之所以写乱了,不是因为学的少,而是因为学的太花哨。 那么搞懂“职责分配”,真正搞懂事件,就可以少写代码。少写代码,就能设计出简洁而强大的应用。
  • 打赏
  • 举报
回复
引用 3 楼 qq_33173927 的回复:
我有使用bool型变量判断开没开,但是我是需要在子窗体关闭事件后触发父窗体重新用foreach语句找到当前被激活(就是已经被打开的最顶层子窗体)的其余子窗体的事件,然后根据是哪个子窗体被激活调整父窗体大小,结果foreach语句不能跨窗体,只能在当前子窗体使用。。。。或者谁有不用foreach语句找父窗体的其余被激活的子窗体
这是父窗体的职责,跟子窗体无关。你不应该让子窗体去纠结父窗体。 父窗体既然能监听子窗体的关闭事件,它此关闭事件所要作的事情,不就是主窗体的事情嘛。 你是没有搞明白“东施还是西施”就来关注她们,乱了。
angshuangxi 2016-06-21
  • 打赏
  • 举报
回复
child.FormClose += 父窗体的函数; 然后父窗体函数中,通过sender可以判断那是谁在关闭
qq_33173927 2016-06-20
  • 打赏
  • 举报
回复
我有使用bool型变量判断开没开,但是我是需要在子窗体关闭事件后触发父窗体重新用foreach语句找到当前被激活(就是已经被打开的最顶层子窗体)的其余子窗体的事件,然后根据是哪个子窗体被激活调整父窗体大小,结果foreach语句不能跨窗体,只能在当前子窗体使用。。。。或者谁有不用foreach语句找父窗体的其余被激活的子窗体
xdashewan 2016-06-20
  • 打赏
  • 举报
回复
这问题问得完全看不懂
熙风 2016-06-20
  • 打赏
  • 举报
回复
打开的时候用变量存储,

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧