我现在建了两个窗体,Form1和Form2,我想通过单击Form1里面的一个按钮Button1,去打开窗体Form2,并将Form1里面Textbox1的值传递到Form2,请教高手啊,谢谢了

解决方案 »

  1.   

    方法 1. 可以在Form2的构造函数里面 传一个Form1的对象!
    把Form1的Textbox1公有化! 就可以直接在Form2里面的Form1对象直接调用Textbox1了!
    方法 2.用委托!
      

  2.   

    在Form2中加入一个属性
    private string textBoxValue;
    public string TextBoxValue
    {
        get{return textBoxValue;}
        set{textBoxValue = value;}
    }Form1中调用
    Form2 f2 = new Form2();
    f2.TextBoxValue=textBox1.Text;
    f2.Show();
      

  3.   


    Form2 frm = new Form2(this.textBox1.Text.Trim());
    frm.ShowDialog();
      

  4.   

    Form2的构造函数设置成带参数的(参数由Form1的Textbox1传递)
    //////////////////
    Public Form2(string str)
    {}
    /////////////Button1_Click
    {
    Form2 form2 = new Form2(Textbox1.ToString())
    form2.ShowDialog();
    }
      

  5.   

     public Form2()
            {
                InitializeComponent();
            }
    修改为 private string m_Text
     public Form2(string p_Text)
            {
                InitializeComponent();m_Text=p_Text;
            }在FORM1 里加入form2 _MyForm =new Form2(TextBox2.Text);
    _MyForm.Show();
      

  6.   

    打开一个新的窗体很容易。而又要传递值这就需要用到窗体构造函数。如下:
    在form1窗体代码中写:
            //button1按钮1
            private void btnOpen_Click(object sender, EventArgs e)
            {
                Form2 form2= new Form2(this.Textbox1.Text);
                form2.Show();
            }在form2窗体代码中写:
            //form2窗体构造函数
             string strtext="";    //申明一个字符串,用来接受传递来的值
            public Form2(string text1)
            {
                InitializeComponent();
                strtext=text1;
            }这样form2中就可以用form1传递过来的值了。有几个值就需要定义几个类型相同的参数。