JIL12
Az Ning
2020-01-03 16:14
采纳率: 80%
浏览 438

C#窗体调用其他窗体textbox值的问题

 #region 变量定义
        Form1 frm = new Form1();
        private void button4_Click(object sender, EventArgs e)
        {
            if (frm.textBox3.Text == "1" )
               {
                  this.Hide();
                  Form2 F2 = new Form2();
                  F2.Show();
                }
            else if (frm.textBox3.Text == "2" )
               {
               this.Hide();
               Form3 F3 = new Form3();
               F3.Show();
                }
        }



    }
}




      #endregion

我在 Form1.Designer.cs中将Textbox3设置为Public

 public System.Windows.Forms.TextBox textBox3;

但是还是无法成功实现,求解答?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • abcfgh
    abcfgh 2020-01-03 17:12
    已采纳

    你在Form1 中定义一个公共属性,如
    public string TextVal
    {
    //这为文本框
    get{ return textBox3.Text;;}
    }

    if (frm.TextVal== "1" )
    {
    this.Hide();
    Form2 F2 = new Form2();
    F2.Show();
    }
    else if (frm.TextVal == "2" )
    {
    this.Hide();
    Form3 F3 = new Form3();
    F3.Show();
    }

                                这样处理不就很完美吗。
    
    点赞 评论
  • huashengjun123
    huashengjun123 2020-01-03 16:30

    看一下代码中是否少分号或者加一个else分支试一下

    点赞 评论
  • weixin_38040279
    weixin_38040279 2020-01-03 17:17

    把窗体变量定义成全局变量,调用更方便一点。这样就不需要new太多实例了。

    点赞 评论

相关推荐