如题 我创建了2个窗体。通过不同的命令创建它们。
我想写一个统一的创建函数 通过传递窗口类名称来区别不同的窗体
 如 CreateForm(窗口类)
{
     窗口类 A=new 窗口类()?
}

解决方案 »

  1.   

    如果你使用命令行打开程序的话,Program.cs文件中可以这样写:
    [STAThread]
            static void Main(string[] args)  \\打开你的程序时,在程序名后面加参数;
            {
                try
                {
                    Application.EnableVisualStyles();
                    Application.SetCompatibleTextRenderingDefault(false);
                    if(args.Length > 0)
                        Application.Run(new Form1(args[0])); \\如果有参数执行创建一个窗体
                    else
                        Application.Run(new Form1()); \\如果没有参数创建另一个窗体
                }
                catch(Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
      

  2.   

    在Form1.cs中,对Form()进行重载
      

  3.   

    static void Main(string[] args)
    如果你创建的是窗体应用程序,那么这个参数还会记录你鼠标双击打开exe文件时该exe文件的绝对路径。
      

  4.   

    不是程序运行的时候 创建窗体 
     窗体A和窗体B都是派生自Form  A和B有不同的控件。
     我想写同样的创建函数 
      

  5.   

     CreateForm(窗口类)
    {
      窗口类 A=new 窗口类()?
    }
    如果可以的话 上面的参数 改如何写??
      

  6.   

    CreateForm(窗口类1)
    {
      窗口类1 A=new 窗口类1()?
    }CreateForm(窗口类2)
    {
      窗口类2 A=new 窗口类2()?
    }
      

  7.   

    函数怎么写??
    public void CreateForm(Form A)???
    {
       A  form1=new A();
    }