我有一个mdi窗体,并有很多其他形式与菜单条链接。当我点击任何其他菜单项时,应该有密切的以前打开窗体内的mdi父窗体。关闭窗体从mdi父母当我点击打开任何其他形式
0
A
回答
1
呼叫,当你想打开一个新的形式,这种方法:
private void CloseAllForms()
{
Form[] formToClose = null;
int i = 1;
foreach (Form form in Application.OpenForms)
{
if (form != this) //this is form1
{
Array.Resize(ref formToClose, i);
formToClose[i - 1] = form;
i++;
}
}
if (formToClose != null)
for (int j = 0; j < formToClose.Length; j++)
formToClose[j].Dispose();
}
米蒂亚
2
这里是一个更简洁,现代的,手术的方式来关闭所有MdiChild形式:
static void CloseAllMdiChildForms()
{
foreach (var form in Application.OpenForms.Cast<Form>().Where(f => f.IsMdiChild).ToArray()) // ToArray necessary to build a snapshot
form.Close();
}
但是,这听起来像你想要的只是在任何给定的时间只有一个孩子的形式打开。如果是这样,MDI不适合这项工作。您可以构建UserControl
,然后将它们交换出主应用程序表单。
0
这是最好的一个:
static void CloseAllMdiChildForms()
{
foreach (var form in Application.OpenForms.Cast<Form>().Where(f => f.IsMdiChild).ToArray()) // The ToArray is necessary to build a snapshot
form.Close();
}
相关问题
- 1. 关闭窗体从mdi父母当我点击打开任何其他形式
- 2. 我如何从子窗体发送数据到父母MDI窗体或父母MDI从C#中的子窗体?
- 3. 如何打开多种形式,而不关闭其他形式
- 4. 当点击其他按钮时关闭以前的窗体其他按钮
- 5. 关闭从另一种形式的MDI子窗体
- 6. 以ShowDialog形式打开窗体但关闭窗体
- 7. 如何关闭父窗体,当孩子被打开
- 8. 如何使用主MDI父窗体上的MenuList打开MDI子窗体
- 9. 需要打开MDI子窗体从非MDI子窗体
- 10. 如何打开/关闭选项,当你点击任何人“格”
- 11. jquery模式让它关闭,当我点击其他地方
- 12. 形式关闭弹出窗口点击任何地方
- 13. 使用winforms,mdi,父母和子窗体,在父窗体下的指定空间中打开子窗体
- 14. 下范式创建mdi窗体,并在mdi窗体错误打开MDI子
- 15. 德尔福MDI - 处理打开/关闭/激活子窗体
- 16. 父窗体关闭调用子形式在其后台工作
- 17. 从子窗体关闭父窗体
- 18. 窗形式 - 从child1形式MDI父传值的child2形式 - vb.net
- 19. 关闭模式窗体并在点击按钮时打开一个新窗口
- 20. 如何关闭扩展菜单当我点击其他菜单
- 21. 如何关闭MDI子窗体C#
- 22. MDI子窗体不允许其他子窗体获得焦点
- 23. wxpython关闭父母点击按钮
- 24. 如何关闭之前的MDI子以父窗体
- 25. 如何从MDI子窗体(MDI应用程序)打开窗体对话框
- 26. 点击打开一个箱子,同时关闭其他
- 27. 保持元素打开,在其他地方点击时关闭
- 28. 点击链接,关闭div,用动画打开其他
- 29. 如果用户点击“X”按钮,从子窗体关闭父窗体
- 30. 当关闭窗体关闭如何关闭所有打开的消息框
在那里我必须写上菜单项单击事件的代码???? – vivek 2011-03-26 12:41:49
'Array.Resize'真的吗?使用一个动态大小的容器,比如'List