我有一个 mdi 表格,还有很多其他表格与菜单条相关联。当我单击任何其他菜单项时,应该会在 MDI 父窗体中关闭之前打开的窗体。
最佳答案
这是关闭所有 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
并将它们换入和换出您的主应用程序表单。
关于c# - 当我单击打开任何其他窗体时,从 mdi parent 关闭窗体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5442297/