在form3中添加一个public static Form2 owner;Form2_Button1_Click()
{
  Form3 form3=new Form3();
  form3.owner=this;
  form3.ShowDialog();
}Form3_Button1_Click()
{
  this.owner.textBox1.Text="this text is changed by form3";
}

解决方案 »

  1.   

    在Form3中添加一个变量 Form2 frm ,并将Form2需要修改的TextBox设为Public;
    Form3 dlg = new Form3()
    dlg.frm = this;
    dlg.ShowDialog();在Form3中這樣修改(假如要修改Form2中TextBox1)
    frm.TextBox1.Text = "AAAAA";
      

  2.   

    楼上的方法好像不行,这样就不是修改原Form2窗体中的TextBox了,而是新创建了一个对象,进行修改吧!
      

  3.   

    如果Form1是父窗体,Form2,Form3是子窗体,那么可以在Form3中去找它的父窗体Form1,再找Form1的子窗体Form2,再在Form2找到控件textbox,改变它的值。
    form类的属性MdiParent 可以找到它的父窗体,MdiChildren属性可以找到它的子窗体数组,Controls属性是它的组件数组。呵呵,这个方法很麻烦啊,yanransoft的方法应该可以用吧。
    要不然用代理的方法也可以。
      

  4.   

    不是创建新的TextBox,是直接修改Form上的TextBox1,前提TextBox1必须为Public, 
    public class Form3:System.Windows.Forms
    {
        //就这样在Form3中定义Form2
        public Form2 frm;
        public Form3()
          {
           }
        //Other Function
    }
    Form3_Button1_Click()
    {
      frm.textBox1.Text="this text is changed by form3";
    }
     
      

  5.   

    未处理的“System.NullReferenceException”类型的异常出现在 光盘管家.exe 中。其他信息: 未将对象引用设置到对象的实例。
    楼上的方法,用完了,就报这个
      

  6.   

    在FRM2里的TEXTBOX变量Public啊
    然后在FRM3关闭的时候给FRM2付值
      

  7.   

    用yanransoft的方法,在this.Owner后面出不来textBox1呀
      

  8.   

    大家清楚点,是先创建了Form2,然后再在Form3中更改Form2中控件的属性,C#里,能直接访问已经创建的Form2对象吗????卖火柴的小火柴,你试验了吗,能直接那么赋值吗?????郁闷ing.........
      

  9.   

    实力化就可以用了
    form1 fm1=new form1();
    fm1.close();
      

  10.   

    从Form2打开Form3
    Form3 f3 = new Form3(this);//this指Form2的当前实例在Form3的构造函数中添加参数
    public Form3(Form2 form2)在Form3中声明一个Form2变量实例,用来接受构造函数传来的Form2参数 f2f2 = form2然后你就可在Form3中对Form2中的public的对象进行操作,比如form2上有一个textbox
    可以这样操作
    f2.textbox.Text = "从Form3改变Form2的textbox的Text属性";理解了吗?
      

  11.   

    reformer((问自己最不懂的问题)) 的方法可以,非常感谢,我自己也用了个方法,就是把Form2的textBox设置成public static,再form3中也能访问,但是我觉得reformer((问自己最不懂的问题)) 的方法是最正确的,谢谢!