使用C#打开新窗口关闭旧窗口的方法;winform中防止重复打开多个相同子窗体
作者:野牛程序员:2024-02-03 09:55:20C#阅读 3231
在C#中,可以使用WinForms来实现打开新窗口并关闭旧窗口的功能,同时也可以防止重复打开多个相同的子窗体。下面是实现这两个功能的基本方法:
using System; using System.Windows.Forms; namespace YourNamespace { public partial class MainForm : Form { private ChildForm childForm = null; public MainForm() { InitializeComponent(); } // 打开子窗体并关闭旧窗体 private void OpenNewFormButton_Click(object sender, EventArgs e) { if (childForm == null || childForm.IsDisposed) { childForm = new ChildForm(); childForm.FormClosed += ChildForm_FormClosed; childForm.Show(); } else { childForm.Activate(); // 激活已存在的子窗体 } } // 关闭旧窗体时清空子窗体引用 private void ChildForm_FormClosed(object sender, FormClosedEventArgs e) { childForm = null; } } public partial class ChildForm : Form { public ChildForm() { InitializeComponent(); } } }
在这个例子中,有一个主窗体 MainForm
和一个子窗体 ChildForm
。在 MainForm
中,保持了对子窗体的引用 childForm
,并且在打开新窗口时检查是否已经有一个子窗体打开。如果没有,创建一个新的子窗体并显示出来;如果已经有一个子窗体打开,则激活已存在的子窗体。当子窗体关闭时,清空对子窗体的引用。
这样可以确保只有一个子窗体实例在运行,防止重复打开多个相同的子窗体。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
- 上一篇:关于html页面iframe架构中top属性和其方法使用
- 下一篇:c#改变窗体形状