日期:2014-05-18 浏览次数:21785 次
private Form2 form2;
private void button1_Click(object sender, EventArgs e)
{
if (form2 == null || form2.IsDisposed)
form2 = new Form2();
form2.Show();
}
------解决方案--------------------
public static bool IsOpened(string frmName)
{
bool isOpened = false;
foreach (Form frm in Application.OpenForms)
{
if (frm.Name == frmName)
{
isOpened = true;
}
}
return isOpened;
}
true 为重复
------解决方案--------------------
是来学习的 看看
------解决方案--------------------
22楼的方法还成,省去一个局部变量,并且可以处理其他类创建的同类窗体,可以改改。。。
private Form FindForm(Type type)
{
foreach(Form form in Application.OpenForms)
if (form.GetType() == type) return form;
return null;
}
private void button1_Click(object sender, EventArgs e)
{
Form form2 = FindForm(typeof(Form2));
if (form2 == null) form2 = new Form2();
form2.Show();
}
------解决方案--------------------
省去一个局部变量字段。
勘误
------解决方案--------------------
我在学习
------解决方案--------------------
ShowDialog行不行,能不能满足你的要求?
------解决方案--------------------
用Form.ShowDialog()就可以
------解决方案--------------------
学习了。
------解决方案--------------------
用那个互斥体的模式,具体的词想不起来了.回家得翻翻书.
------解决方案--------------------