【发布时间】:2016-10-05 00:27:09
【问题描述】:
我的目标是响应 mdi 容器关闭的最后一个子窗体(例如,关闭父级本身或显示新内容)。我面临的问题是 mdi 容器的 MdiChildren 集合仍然表明该容器包含子项。
我尝试过的方法是
void childMdiForm_FormClosed(object sender, FormClosedEventArgs e)
{
if (this.MdiChildren.Any())
{
//Do stuff
}
}
MdiChildren.Count() 在最后一个子窗体关闭后仍为 1。
我通过尝试处理 parentform.MdiChildActivate 事件得到了相同的结果。
当子窗体关闭时,MdiChildren 集合似乎尚未更新。当有多个孩子时也会发生同样的情况:它仍然会包含所有孩子,它似乎会在稍后更新集合。
这是正确的方法吗?如果没有,我如何才能在关闭表单后准确计算 mdi 孩子的数量?
【问题讨论】: