具有 numericUpDown 的数学函数会导致文本框中显示错误的数字

Math function with numericUpDown causeswrong number displaying in textBox

我对文本框和 numericUpDown 有疑问。我从第一个 textBox1 (indBox) 中获取值加上 numericUpDown1 中的数字,并将结果显示在另一个 textBox2 中。

我需要在第一个文本框中使用数字 40000,但在结果文本框中,例如我有 4000(三个零,而不是四个),直到我更改 numericUpDown 的值。只有在更改值后,我才能正确计算值中的数字。我在第一个文本框中使用 TextChanged 事件。和下一个代码:

    private void indBox_TextChanged(object sender, EventArgs e) //
    {
        try
        {
            textBox3.Text = Convert.ToString( Convert.ToInt16(indBox.Text) + Convert.ToInt16(numericUpDown1.Value));

        }
        catch (Exception)
        {
            toolStripStatusLabel1.Text = "Can not calculate";
        }
    }

请帮忙!谢谢! :)

Int16最大值为32,76740,000超出最大值

使用Int32

textBox3.Text = (int.Parse(indBox.Text) + (int)numericUpDown1.Value).ToString();

https://msdn.microsoft.com/en-us/library/system.int16.maxvalue(v=vs.110).aspx

40000 大于 Int16 maximum value (32767). You can use Int32 instead, which can store values up to 2147483647:

textBox3.Text = Convert.ToString(Convert.ToInt32(indBox.Text) + Convert.ToInt32(numericUpDown1.Value));