我是菜鸟,没有什么好的建议:
但是可以参考文章:
http://www.microsoft.com/china/community/Column/1.mspx
另外我个人觉得只能在主窗体访问自己的控件。所有你可以在子窗体返回以后自动调用父窗体里面的事件:
frmSon frm = new frmSon();
frm.ShowDialog();
frm.Dispose()
if(frm.DialogResult == DialogResult.OK)
{
//这里可以使用事件控制控件
}

解决方案 »

  1.   

    在子窗体里面添加
    frmFather frm;在主窗体里面,当创建子窗体对象时
    frmSon son = new frmSon();
    frmSon.frmFather = this;
    son.Show();以后当在子窗体里面访问主窗体时
    this.frmFather.textbox1.txt = "Father Frame";
      

  2.   

    http://expert.csdn.net/Expert/topic/2893/2893874.xml?temp=.2869074
      

  3.   

    在窗体间传递数据
    //Form1中按钮的点击事件
    private void Button_Clicked(object sender,EventArgs e)
    {
          Form2 form2 = new Form2();
          form2.ShowDialog(this);
          //如果设置了
          if(form2.DialogResult = DialogResult.OK)
          {
              //获取form2中的数据,TextBox3和TextBox4声明为public
              string form2txt3 = form2.TextBox3.Text;
              string form2txt4 = form2.TextBox4.Text;
          }
    }
    //在Form2中获取Form1的数据
        string form1text1 = ((Form1)this.Owner).TextBox1.Text;
        string form1text2 = ((Form1)this.Owner).TextBox2.Text;
    //在Form2中修改Form1的数据
    ((Form1)this.Owner).TextBox1.Text ="修改了Form1中的数据";
    也可以重写Form2的构造函数,把Form1的引用传进去.
    Form2 form2 = new Form2(this);
      

  4.   

    把主窗体中的控件的访问属性设为public;
    就可以在次窗口中就可以访问窗口中的控件
      

  5.   

    回复人: Reeezak(电机拖动) :
    不懂上楼的意思,能不能说详细点!!!!
      

  6.   

    关于这个,我写了一些文章。
    http://www.csdn.net/Develop/read_article.asp?id=26433
    http://www.csdn.net/Develop/read_article.asp?id=26434
    http://www.csdn.net/Develop/read_article.asp?id=26436