1.为winform2增加一个
private winform1 form1;
重载winform2的构造函数。
public winform2(winform1 form1)
{
    this.form1 = form1;
}
2.在winform1的button_Click
    new winform2(this).ShowDialog();
3.在winform1增加属性
public string MyText
{
    get
    {
        return textbox1.Text;
    }
    set
    {
        textbox1.Text = value;
    }
}
4.在winform2,无论何时都可以用form2.MyText = "you text";来改变winform1的textbox1的内容。
参考一下。

解决方案 »

  1.   

    你的form1的Text1得知从哪里来的?如果从Form2来的话,给form2添加一个属性
    private 数据类型A xxx
    public XXXX xxxx
    {
        get{return this.xxx}
    }
    form2_button1_Click(object sender,System.EventArgs e)
    {
        this.xxx="某个值";
        this.DiaglogResult=DiaglogResult.OK;
    }
    form1_button_Click(object sender,System.EventArgs e)
    {
        form2 frm=new form2();
        frm.ShowDialog(this);
        if(frm.DiaglogResult==DiaglogResult.OK)
        {
               this.textbox1.Text=frm.xxxx;
        }
    }
      

  2.   

    错了,应该是在winform2里用form1.MyText = "you text";...
      

  3.   

    在Form1中把TextBox的属性由private改成public:
    在Form2中加入:
    public Form1 f1;
    在Form1中的Button_Click()事件中加入:
    Form2 f2=new Form2();
    f2.f1=this;
    f2.Show();
    在Form2中的Button_Click()事件中加入:
    f1.TextBox1.Text="abc";//abc为你要在Form1中显示的字符串;
      

  4.   

    最好给From加各属性或方法,比较好.避免直接访问其它类中的变量或控件.也好维护.