不能用静态方法
还有别的办法吗?

解决方案 »

  1.   

    1 在被调用窗体(fmain)中将所要调用的方法设为public
    2 修改调用窗体(f)的构造函数
    private frmMain fmain;
    public fref(frmMain fMain)
    {
    InitializeComponent();
    fmain=fMain;
    }
    3 在fref的关闭事件中调用fmain窗体中的或方法
    fmain.Method();
      

  2.   

    if(form1.Disposing)
    {
      Form2 form2=new Form2();
      form2.Show();
    }或者:
    private Form1 form1;
    private Form2 form2;public mainform()
    {
      InitializeComponent();
      form1=new Form1();
      form1.Disposed += new EventHandler(form1_Disposed);
    }private void form1_Disposed(Object sender, EventArgs e)
    {
      form2=new Form2();
      form2.Show();
    }
      

  3.   

    底层方法可以用SendMessage或者PostMessage
      

  4.   

    定义两个Form
    Form1.Closed事件中
    {
      form2=new Form2();
      form2.Show();
    }
      

  5.   

    比较麻烦的方法是自己定义一个事件。
    然后在要关闭的窗体的重载的Dispose方法中触发这个时间,然后由另一个窗体来监控,从而触发相应的事件处理程序。