我有一个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子窗体
- 3. 如何使用主MDI父窗体上的MenuList打开MDI子窗体
- 4. 需要打开MDI子窗体从非MDI子窗体
- 5. 如何打开/关闭选项,当你点击任何人“格”
- 6. 形式关闭弹出窗口点击任何地方
- 7. 使用winforms,mdi,父母和子窗体,在父窗体下的指定空间中打开子窗体
- 8. 父窗体关闭调用子形式在其后台工作
- 9. 德尔福MDI - 处理打开/关闭/激活子窗体
- 10. 下范式创建mdi窗体,并在mdi窗体错误打开MDI子
- 11. 从子窗体关闭父窗体
- 12. 如何关闭扩展菜单当我点击其他菜单
- 13. wxpython关闭父母点击按钮
- 14. 如何关闭MDI子窗体C#
- 15. 点击打开一个箱子,同时关闭其他
- 16. MDI子窗体不允许其他子窗体获得焦点
- 17. 如果用户点击“X”按钮,从子窗体关闭父窗体
- 18. 关闭所有打开的UL当其他UL是通过点击事件
- 19. 当一个子窗口打开时关闭父窗口
- 20. 自举模式弹出窗口在点击关闭时打开
- 21. 如何让我的下拉菜单打开/关闭,当我点击其父或外
- 22. 需要关闭对话框打开任何其他对话框上点击条形图
- 23. 关闭时将变量从窗体传递到其他窗体
- 24. 关闭软键盘当我点击其他视图在android
- 25. 如何防止单个MDI子窗体从其他mdi子窗体中偷取焦点
- 26. 打开新窗口并关闭父项
- 27. Jquery点击打开关闭菜单并关闭页面点击
- 28. 如何使用MDI父窗体制作mdi子窗体?
- 29. 如何防止MDI主窗体关闭MDI子项
- 30. 如何从另一个MDI子窗体关闭特定的MDI子窗体子窗体
在那里我必须写上菜单项单击事件的代码???? – vivek 2011-03-26 12:41:49
'Array.Resize'真的吗?使用一个动态大小的容器,比如'List