有两个窗体 form1 form2 两个窗体各有一个textbox控件,想在form1中输入文本,传递给form2中的textbox控件中,我用过构造函数,也有把textbox的属性设为public 可都不能在form2中显示,各位有什么高见,给指导一下
在网上看了好多可是对我的程序都没有用,怎么回事啊 。泪奔~~~·
急啊 ~~~~~~~~~~~~

解决方案 »

  1.   

    这样做
    在form2
     private textBox txt;
    public Form1(textBox txt)
     {
    this.txt=txt;
    }
    form2_load
    {
    //进行赋值
    }
    form1的话看你想在什么事件下弹出form2了
    比如button_click
    {
    form2 f=new form2(this.textBox1);
    f.show();}
    比方你要这么做,
      

  2.   

    form2 f=new form2(this.textBox1);
    中不能带参数
      

  3.   

    public form2(string xx)
    {
    ......
    }
      

  4.   

    用构造函数加ref,可以双向传递
      

  5.   

    说明你也是初学者,不能有参数那值怎么传递,不用这个当然,用委托
    如果想传文本框的内容,声明string类型就可以,想整个对象的话就声明textBox
      

  6.   

    通过公共静态类进行传值;   
    通过绑定事件进行传值
    public partial class Form1 : Form  
      {  
      private void button1_Click(object sender, EventArgs e)  
      {  
      Form2 frm2 = new Form2();  
      frm2.Show(this);  
      }  
      }    public partial class Form2 : Form  
      {  
      private void button1_Click(object sender, EventArgs e)  
      {  
      Form1 frm1 = (Form1)this.Owner;  
      ((TextBox)frm1.Controls["textBox1"]).Text = this.textBox2.Text;  
      this.Close();  
      }  
      

  7.   

    Form1 代码 public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }        private void button1_Click(object sender, EventArgs e)
            {
                string test = "传到Form2的值";
                Form2 f2 = new Form2(test);
                f2.DialogResult = DialogResult.No;
                f2.ShowDialog();
                if (f2.DialogResult==DialogResult.OK)
                {
                    f2.Beack(ref test);
                    textBox1.Text = "FORM2传回的值>>" + test;
                    f2.Close();
                }
            }
        }Form2 代码public partial class Form2 : Form
        {
            /// <summary>
            /// 给构造函数加参数
            /// </summary>
            /// <param name="text"></param>
            public Form2(string text)
            {
                InitializeComponent();
                textBox1.Text = text;
            }        /// <summary>
            ///回传值函数,public
            /// </summary>
            /// <param name="text"></param>
            public void Beack(ref string text)
            {
                text = this.textBox1.Text;
            }        /// <summary>
            /// 关闭From2,
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button1_Click(object sender, EventArgs e)
            {
                this.DialogResult = DialogResult.OK;
            }    }
      

  8.   

    这样就可以了!
    form2 f2=new form2();
    f2.textBox1.Text = this.textBox1.Text;
    f2.show();
      

  9.   

    最简单的办法,建一个类,建一个公有的静态的string 类型的接收你所输入的,然后再传给FROM2所需要的值的那个控件
      

  10.   

    自己写一个类似网页中Session的类,set函数用于记录form1中textBox中的值,想要获取textbox的值,调用get函数大概的代码如下:
    public class Session
    {
       private string text;   public static void set(string t)
         {
           text = t;
          }   public static string get()
         {
           return text;
          }
    }
      

  11.   

    Form1 中在要显示Form2 的代码段写:
    Form2 frm2=new Form2(this.TextBox1.text)
    frm.show();
    Form2 中原来的构造函数改为:
    Public Form2(string txt)
    {
      InitializeComponent();
      this.TextBox1.text=txt;
    }
      

  12.   

    在form2中
    private string a;
    public void GetData(string A)
    {
    this.a=A;
    this.show;
    }在form1中
    Form2 f2=new Form2();
    f2.GetData(this.TextBox.text);
      

  13.   

    写一个类,记录form1的信息,在form使用这个类。你可以声明为static member~
      

  14.   

    在form2中设置一个公有的类属性,在由form1实例化传值给form2,我就是这样实现的
      

  15.   

    ((TextBox)frm1.Controls["textBox1"]).Text = this.textBox2.Text; //能得到窗体控件即可
      

  16.   

    http://developer.51cto.com/art/201006/205587.htm
    lz看看这个!
      

  17.   

    There are many ways to achieve this. But you should always follow the best practices. I recommend two appropaches:1. Use event
    2. Use form presenter interfaceYou can google these two approaches and find what you should do.