在窗体Form1中按按钮button1,弹出对话框窗体Form2。用户在Form2做了一些操作,按Form2上的按钮button2关闭Form2,刷新Form1上的TextBox1控件,而直接关闭Form2不刷新TextBox1。
谢谢!

解决方案 »

  1.   

    把Form1对象传到Form2中去,然后在Form2中随你怎么控制Form1了。
      

  2.   

    按Form2上的按钮button2关闭Form2 和直接关闭有什么区别?不过传值得方式是用代理或事件比较好。
      

  3.   

    谢谢楼上,根据你的回答,我这样做的:在Form2类中加了个成员Form1类对象,在Form1中new Form2(this)就把自己传了过去,然后Form2类这样写:
    public class Form2: System.Windows.Forms.Form
    {
    ...
    private Form1 form1;
    ...
    public Form2(Form1 form)
    { InitializeComponent();
    this.form1 = form;
    }
    ...
    private void button2_Click(object sender, System.EventArgs e)
    {
    this.form1.TextBox1.Text="dsfdsfdsf";
    }
    }
    测试了一下可以,请问我这样做是否正解?
      

  4.   

    呵呵,我是根据fangwancong回答写得上面的代码。
      

  5.   

    按Form2上的按钮button2关闭Form2 和直接关闭有什么区别?
    不过传值得方式是用代理或事件比较好。
    --------------------
    区别是是否刷新Form1的TextBox1,你的第二句话不懂,能否详细解释一下?
      

  6.   

    Form2中添加
    this.btnClose.DialogResult = System.Windows.Forms.DialogResult.OK;
    再添加ResultText属性Form1中调用Form2时:
    Form2 form2 = new Form2();
    DialogResult result = form2.ShowDialog();
    if(result == DialogResult.OK)
    {
    //Set Text
    this.TextBox.Text = form2.ResultText;
    }只适用ShowDialog方式