请问大家怎么限制在一个form中只能打开3个form窗口???C# code private void button2_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Show();
}这样点击按钮一次就打开一个FORM2窗体,有什么方法可以限制最多只能打开3个form2窗体,除非有打开的form2窗体关闭(打开的form2个数小于3个),才能再次打开???
~~
{
Form2 f2 = new Form2();
f2.Show();
}这样点击按钮一次就打开一个FORM2窗体,有什么方法可以限制最多只能打开3个form2窗体,除非有打开的form2窗体关闭(打开的form2个数小于3个),才能再次打开???
~~
if(f2!=null)
return
你自己建个泛型类,放FORM,实例一个就放一个进去,如果够3个了,那就不允许再打开了!List<Form> frmList=new List<Form>();//或者用泛型类,都可以,看你自己想怎么弄了,这个你可以在主窗体的构造函数里初始化 private void button2_Click(object sender, EventArgs e)
{
if(frmList.count>=3)
return; Form2 f2 = new Form2();
frmList.Add(f2);
f2.Show();
}
if(数量>3)
{
return false;
}
你自己建个泛型类,放FORM,实例一个就放一个进去,如果够3个了,那就不允许再打开了!List<Form> frmList=new List<Form>();//或者用泛型类,都可以,看你自己想怎么弄了,这个你可以在主窗体的构造函数里初始化 private void button2_Click(object sender, EventArgs e)
{
if(frmList.count>=3)
return; Form2 f2 = new Form2();
frmList.Add(f2);
f2.Show();
}
或者你可以使用WIN API,用FINDWINDOWEX找到句柄,然后GETWINDOW,看看能否遍历出来三个,如果子窗体数目超过三个则返回,就可以了!
if (Application.OpenForms.Count < 4)
{
Form_Child frm = new Form_Child();
frm.Show();
}
//遍历当前系统打开的所有Form
foreach (Form frm in Application.OpenForms)
{
if (frm.Tag.ToString() == "Form2")
{
MessageBox.Show("Form2已经开打了");
return;
}
}
//没有找到Form2就弹出一个
Form_Child child = new Form_Child();
child.Tag = "Form2";
child.Show();