form2:
 private void Form2_Load(object sender, EventArgs e)
        {
            TextBox b1 = new TextBox();
             this.Controls.Add(b1);        }form1: private void button1_Click(object sender, EventArgs e)
        {
            DialogResult dr = new DialogResult();
            Form2 frm2 = new Form2();
            dr = frm2.ShowDialog();
            if (dr == DialogResult.OK)
                {
                    if (b1.Text.Length != 0)  //这里要怎么写?
                    MessageBox.Show("User clicked OK button");
                    else
                        MessageBox.Show("输入错误");
                }
             else if (dr == DialogResult.Cancel)
                    MessageBox.Show("User clicked Cancel button");
            
           
                   }如何才能把form2窗口的b1文本框,写进form1的button1事件中啊,不在同一个类

解决方案 »

  1.   

    使用构造函数实现或是在Form2中定义一个全局的TextBox变量,然后通过Form2的实例去调用它。
      

  2.   


    form2:
    public class Form2
    {
      public TextBox b1;
     private void Form2_Load(object sender, EventArgs e)
      {
      b1 = new TextBox();
      this.Controls.Add(b1);
      }form1: private void button1_Click(object sender, EventArgs e)
      {
      DialogResult dr = new DialogResult();
      Form2 frm2 = new Form2();
      dr = frm2.ShowDialog();
      if (dr == DialogResult.OK)
      {
      if (frm2.b1.Text.Length != 0) 
      MessageBox.Show("User clicked OK button");
      else
      MessageBox.Show("输入错误");
      }
      else if (dr == DialogResult.Cancel)
      MessageBox.Show("User clicked Cancel button");
       
       
      }
      

  3.   

    直接拖放至form1中的button里边就好了,更改属性值!