Form1是父窗体,生成子窗体Form2和Form3,如何在Form3中控制Form2的控件和方法。

解决方案 »

  1.   

    方法要public
    实例化Form2
    Form2 f2=new Form2();
    f2.function();
    控件有个属性设置为public的,
      

  2.   

    DELEGATE    用委托
      

  3.   

    see:http://topic.csdn.net/t/20041027/19/3497195.html
      

  4.   

    在主窗体上 
    Form2 f2 = new Form2();
    Form3 f3 = new Form3();
    f2.f3 = f3;
    f2.Show();

    f3.f2 = fs;
    f3.Show();在Form2 上
    private System.Windows.Forms.Button button1;
    public System.Windows.Forms.Label label1;
    public Form3 f3;
    private void button1_Click(object sender, System.EventArgs e)
    {
         f3.label1.Text = "Form2 change";
    }在form3 上 private System.Windows.Forms.Button button1;
    public System.Windows.Forms.Label label1;
    public Form2 f2;
    private void button1_Click(object sender, System.EventArgs e)
    {
         f2.label1.Text = "Form3 change";
    }
      

  5.   

    控件 和方法设为 public 的
      

  6.   

    http://blog.csdn.net/chenyuling/archive/2007/05/25/1625907.aspx
      

  7.   

    这个用委托实现吧
    public 方法是不是不太好