如果从主窗体的菜单中点击打开新窗口,那么就需要每个点击事件里都加上判断代码,现在把这段代码封装成方法时又出问题了,
如何把想打开的窗体类传递给这个方法呢?弄了半天也没搞定,唉。还好周周在线,绝对最好的技术支持啊,记住下面的代码:
private void ToolStripMenuItem1_Click(object sender, EventArgs e)
{
//Type t=Type.Get("命名空间.类名,程序集");
Form f = getForm(typeof(Form2));
f.Show();
}
private Form getForm(Type formClass)
{
foreach (Form frm in Application.OpenForms) //遍历已打开窗口
{
if (frm.GetType().Equals(formClass))
{
frm.Activate();
return frm;
}
}
return (Form)Activator.CreateInstance(formClass);
}