我在a窗口关闭后。。想让主窗口b自动执行一段代码应该怎么办。。用窗口获得焦点的方法不太合适。。有没有其他的

解决方案 »

  1.   

    打开B窗口时,将A窗口的类的句柄传入B窗口
    在B窗口的OnClosed事件中,调用传入的A句柄,调用A里的方法即可
      

  2.   

    如果a是由b調用出來的話,就直接b中訂閱a的formClosing事件如果兩個窗体是無關聯的,則寫一個共用類,a触發共用類的一個事件,b訂閱這個事件
      

  3.   

    直接在xxx.show()后面写就成了
    或者把formB.formClose+=到你事件处理代码中,这个事件处理代码实际可以不在同一个类里面你要熟悉事件和委托的原理就可以知道,这个无非是方法当作方法参数,所以你可以指定到你自己的处理代码上
      

  4.   


    这句话可是有问题的,ShowDialog()可以,但Show()是不可以的。
      

  5.   

    窗体间数据传递?
    在窗体A里:
    Form2 f2=new Form2();
    if (f2.ShowDialog() == DialogResult.OK)
    this.textBox1.Text = f2.str;
    在窗体B的里:
    1.先定义一个公有的变量:public string str;
    2.FormClosed()事件里:
    this.str=this.textBox1.Text.Trim();
    this.DialogResult = DialogResult.OK;