我的主窗口类是MainForm,在Program.cs中,在Application.Run(new MainForm())语句中生成了一个MainForm对象,这个对象对于程序来说应该是唯一的吧,我怎样在程序的其他部分引用这个对象呢?

解决方案 »

  1.   

    mainForm唯一是相对的,你可以再显示出来一个MainForm.可能样式差不多,但窗体的句柄是不一样的,是两个窗口,要想引用这个窗体,可以在子窗体里加一个属性,在主窗体内声明子窗体的实例的时候把"this"传给这个属性,从而可以引用MainForm,当然如果是Mdi子窗体,可以通过MdiParent来访问主窗体.
      

  2.   

    我是这么做的,但是这样的话,子窗口的load过程好像就不执行了。
      

  3.   

    明白了,在有参数的构造函数里,应该加入InitializeComponent函数
      

  4.   

    class FormSon : Form
    {
      Form m_MainForm;
      public FormSon(Form param)
      {
        MainForm = param;
      }
    }class FormMain : Form
    {
      XX函数()
      {
        FormSon son = new Form(this);
        son.Show;
        ......
        son.Dispose();
      }
    }