c#WinForm窗体限制只能打开一次

来源:百度知道 编辑:UC知道 时间:2024/06/24 23:57:16
问题描述:
我目前做了一个主窗体,里面有个按钮,当点击按钮后弹出另一个子窗体;但我把子窗体最小化后再点击主窗体上的按钮,又会弹出一个新的子窗体。我想问下,该怎样实现 无论点击多少次按钮,都只是显示一个子窗体。
麻烦知道的大侠们帮忙解决一下!
大概知道点意思了

主窗体:(假设叫做Form1)
public static Form2 f2;//声明窗体类静态变量
private void Button1_Click(object sender, EventArgs e)
{
if (f2 == null)
{
f2 = new Form2();//将主窗体对象传递过去
f2.Show();
}
else
{
f2.Activate();
}
}
Form2子窗体:
//子窗体的关闭事件
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
Form1.f2 = null;
}

不知道你用的是不是mdi窗体,如果是,我这里是这样解决的
下面这段代码是判断子窗体是否打开了
public bool checkchildFrmExist(string childFrmName)
{
foreach (Form childFrm in this.MdiChildren)
{
if (childFrm.Text.ToString() == childFrmName)
{
if (childFrm.WindowState == FormWindowState.Minimized)
{