小弟刚接触c#,给windows form加入两个textbox控件一个label一个button,想实现两个textbox.text值相加的和传给label,按button显示在label上,我就这么写的:(在双击button后的代码里)label1.text=textbox1.text+textbox2.text;  label1.show();然后就报错了,说什么运算符和string类型不能相互转换,应该怎么写两个textbox值相加啊?是不是textbox默认是string型啊?写的时候要不要转换格式啊?怎么写?貌似好弱智的问题拿不上台面啊。谢谢各位啦

解决方案 »

  1.   

    label1.text=(Convert.toInt32(textbox1.text)+Convert.toInt32(textbox2.text)).toString();
      

  2.   

    textbox1.text默认获取的string ,如l楼,先进行转换,再进行加减
      

  3.   

    textbox1.text本来就是String类型,没有默认不默认的问题,c#是强类型检查的语言,textbox1.text只能是string而不能是其他类型,如果想转换成整数或者浮点数,需要用Convert等类来转换,
      

  4.   

    label1也无需调用show方法,只要label1.Text=xxx,赋值之后自动就刷新界面了,
      

  5.   

    int num1=convert.int32(textbox1.text);
    int num2=convert.int32(textbox2.text);label1.txt=num1-num2;
      

  6.   

    if   (isNumeric(TextBox1.Text)   ||   isNumeric(TextBox2.Text))
    {
    label1.Text=(Convert.ToInt32(TextBox1.Text)-Convert.ToInt32(TextBox2.Text)).ToString();
    }
      

  7.   


    if(!string.IsNullOrEmpty(textbox1.Text)&&!string.IsNullOrEmpty(textbox2.Text))
    {
           try
           {
                 label1.Text=int.Parse(textbox1.Text.Trim())+int.Parse(textbox2.Text.Trim()); 
           }
           catch(Exception ex)
          {
                 label1.Text = "不好意思,输入的不是数字!";
          }
    }
      

  8.   

    1、5楼如果输入非数字会报错6楼只判断了一种也不行,,7楼还可以
    2个文本框都调用以下事件
      /// <summary>
            /// 限制输入数字以外的字符
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void txtRuYuanCount_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (((int)e.KeyChar < 48 || (int)e.KeyChar > 57) && e.KeyChar != 8)
                {
                    e.Handled = true;
                }
            }
        private void btnAdd_Click(object sender, EventArgs e)
            {
    int num1=convert.int32(textbox1.text);
    int num2=convert.int32(textbox2.text);label1.Text=num1+num2;
    }
      

  9.   

    int a=Convert.ToInt32(textBox1.Text);
    int b=Convert.ToInt32(textBox2.Text);label1.Text=Convert.ToInt32(a+b);
      

  10.   

    这是winform里面最简单的编程问题了吧。简单的思路就是在button的代码中,把textbox.text的string类型转换成可进行计算的int或double类型,然后进行计算把计算结果再转换成string类型赋值给label.text
      

  11.   

    @happy09li,你那个限制输入数字以外的keypress事件怎么调成负数也可以输入啊,就是前面带着一个负号也可以。谢谢啦
      

  12.   

    .Text和想要计算的数字的类型应该是不一样的吧,得把输入的值改成整形或者是浮点型的才可以相加。
      

  13.   

    LZ是新手、你们说那么多干嘛呢、
    label1.text=(Convert.toInt32(textbox1.text)+Convert.toInt32(textbox2.text)).toString();
    输入的是不是数字这些以后接触到了再说、
    先把他现在的问题解决了先、
    textbox1.text是string 
    要把它转换成整形才能进行运算、
      

  14.   

    label1.text=textbox1.text+textbox2.text; label1.show();你里面的textbox1.text+textbox2.text  textbox1.text都是String类型的不能做加减的运算。所以要先转换成Int类型的才能做运算。 建议用
     label1.text=(int.Parse(textbox1.text)+int.Parse(textbox2.text))+"";
      

  15.   

    因为TextBox的Text值是string类型,而相加必须转化成int或者double能进行相加的类型,但是结果ToString()后付给Label.text
      

  16.   

    我也是新手,不过我觉得肯定要转换啊,把字符串转换成INT型,这么写
    Convert.ToInt32(textBox.Text),然后再相加。