日期:2014-05-18 浏览次数:21439 次
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()就可以
------解决方案--------------------
学习了。
------解决方案--------------------
用那个互斥体的模式,具体的词想不起来了.回家得翻翻书.
------解决方案--------------------