C# 避免重复打开窗体

2024-12-25 20:36:00
推荐回答(3个)
回答1:

我只提供思路,代码自己实现
1.把要打开的窗体在父级中定义出来,可以判断状态
2.使用窗口句柄 Handle 属性来处理

回答2:

create a winform is called MyForm;

Form frm = null;
...
if (frm == null)
frm = new MyForm();
frm.visable = true;

回答3:

定义一个全局变量:
bool g_bIsOpen=true;

比如有一个窗体 CustomerForm
CustomerForm CF=new CustomerForm();
if(g_bIsOpen)
{
CF.ShowDialog();
g_bIsOpen=false;
}
else
{
MessageBox.Show("该窗体已经打开!");
}

在窗体的FormClosed事件中写

g_bIsOpen=true;