namespace FinSystem
{
    class OpenForm
    {
        public static  void openForm(string formname)
        {
            if (! FinanceSystem.MainForm.ShowChildrenForm("formname")) 
            {                formname newForm = new  formname();
                newForm.MdiParent = this;
                newForm.WindowState = FormWindowState.Maximized;
                newForm.Show();
                newForm.Update();            }
     
        }            
    }
}
这是我写的一个类,类里面的方法openForm接受进来一个窗体名,例如"Login",然后实现打开窗体。现在的问题是:红色的部分不能成为我的窗体名,有点像名词不能当动词用,应该怎么解决呢,谢谢,长期在线,解决问题就结贴

解决方案 »

  1.   

    通过反射来做Type _FormType =Type.GetType("WindowsApplication1."+formname);Form _SubForm =(Form)System.Activator.CreateInstance(_FormType);  SubForm .MdiParent = this; 
                    SubForm .WindowState = FormWindowState.Maximized; 
                    SubForm .Show(); 
                    SubForm .Update(); 
      

  2.   


    FinanceSystem.MainForm.ShowChildrenForm("formname")要求对象引用?
    上下文不存在SubForm?
      

  3.   

    通过反射调用窗体
    string path=AssemblyName;//项目的Assembly选项名称
    string name=strName; //类的名字Form fm=(Form)Assembly.Load(path).CreateInstance(name);
    fm.MdiParent=this.ParentForm;
    fm.Show();
    fm.Dock=DockStyle.Fill;if (! FinanceSystem.MainForm.ShowChildrenForm(formname)) 
    {
     
    }