我在开始的Form1中添加了textbox1控件  想在另外的Form2的textbox1中显示Form1中textbox1的内容
请问我该如何调用Form1中textbox1属性?

解决方案 »

  1.   

    直接调用Form1.textbox1.Text = value;就好了啊
      

  2.   

    首先你将Form1中的textbox1 的modifiers属性设为public
    然后你在form2中就可以访问这个textbox1了Form1 frm=new Form1();
    string value=frm.textbox1.Text;
      

  3.   

    在构造 Form2的时候,把Form1的textbox1控件值传进去。Form2 f2=new Form2(textbox1.Text);
      

  4.   

    winform里默认窗体里的TextBox是private的
    在别的窗体里是访问不到的,要么传值过去,要么修改访问级别
      

  5.   

    1)在form1.Designer.cs里面找到textbox1将其修饰改为public  你在form2就可以访问的到
    2)在form1中实例化form2时  from2 f=new form2(this) f.show()  在form2的构造方法中 public form2(form1 f1)  f1.textbox1.text
      

  6.   

     public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }        private void button1_Click(object sender, EventArgs e)
            {
                Form2 f2;
                f2 = new Form2(this);
                f2.ShowDialog();
            }
            public string text
            {
                get
                {
                    return textBox1.Text;
                }
            }
        } 
     public Form2(Form f)
     {
         InitializeComponent();
         textBox1.Text = ((Form1)f).text;
     }
    先在Form1中设置一个 text属性,返回textBox1的值,然后Form1的对象传给Form2的构造函数,那样就可以在Form2中调用Form1.text属性值。其实也可以在main()所在的类设置全局变量的字符串来解决这个问题,因为是全局变量所以在Form1和Form2中都是可见的。也可以在Form2的构造函数传进Form1中的textBox1的text值,那样Form2中textBox就可用传进来的字符串初始化。
      

  7.   

    在类里面把成员设置为public 感觉打破封装了,感觉还是增加公共的属性好。不过把textBOx1的修饰符改成public的话,代码非常简便,也容易理解。