c# - 当我单击打开任何其他窗体时,从 mdi parent 关闭窗体

标签 c#

我有一个 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/

相关文章:

C# 4.0 : casting dynamic to static

c# - 隐式转换为 IEnumerable<T>

c# - 线程安全的方式来填充/删除列表中的项目

c# - 使用网络摄像头读取条形码

c# - 如何将父转换为子以在 C# 中调用正确的函数

c# - 将上下文菜单绑定(bind)到 View 模型属性

c# - 带有可选参数的 ViewComponent

c# - 使用适当的 Windsor 服务覆盖是什么意思?

c# - 在 VS 中调试时可以跳到循环的第 i 次迭代吗?

c# - 如何使用 CaSTLe Windsor 和 MS Test 将依赖项传递给对象?