明明就是Form3,为什么要去改     form1中将textbox改成public的了??可以在Form3里面使用属性,构建函数来接收Form1传递的参数。。

解决方案 »

  1.   

    Form1 frm;
    public Form3(Form1 _frm)
    {
      frm = _frm;
      

  2.   

    如你巴士例子所说
    你new Form1得到的实例,只是一台新车,根本不是你之前运行的窗体
      

  3.   

    重载form3的构造函数,参数为(form1 f);
    在form1中 form3 f=new form3(this);
    这样才能把form1传递过去
      

  4.   

    楼主的意思是窗体间传值吧
    可以使用构造函数
    静态变量都可以的
    在实例化form3的时候把值传递过去
    Form3 form=new Form3("text1里面的值","text2里面的值");
    在form3的构造函数创建2个属性
    点击按钮执行 Form3 form = new Form3(this.textBox1.Text,this.textBox2.Text);
                form.ShowDialog();
    Form3窗体
     private string txt1;
            private string txt2;
            public Form3(string txt1,string txt2)
            {
                this.txt1 = txt1;
                this.txt2 = txt2;
                InitializeComponent();
            }        private void Form3_Load(object sender, EventArgs e)
            {
                this.label1.Text = txt1;
                this.label2.Text = txt2;
            }