我正在使用 .NET Windows 窗体。我的 MDI 父窗体包含菜单。如果单击菜单,将显示表单。到现在为止没有问题。
UserForm uf = new UserForm();
uf.Show();
uf.MdiParent = this;
如果我再次单击菜单,则会创建该表单的另一个副本。如何解决这个问题?
最简洁的方法是简单地跟踪表单实例的生命周期。通过订阅 FormClosed 事件来执行此操作。例如:
private UserForm userFormInstance;
private void showUserForm_Click(object sender, EventArgs e) {
if (userFormInstance != null) {
userFormInstance.WindowState = FormWindowState.Normal;
userFormInstance.Focus();
}
else {
userFormInstance = new UserForm();
userFormInstance.MdiParent = this;
userFormInstance.FormClosed += (o, ea) => userFormInstance = null;
userFormInstance.Show();
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)