具有 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,767
,40,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));
我对文本框和 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,767
,40,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));