Numericupdown 值总和总和减 1

Numericupdown value always sums 1 number less

private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
    try
    {
        textBox2.Text = Convert.ToString(Convert.ToInt32(textBox1.Text.Trim()) + Convert.ToInt32(numericUpDown1.Text.Trim()));
    }
    catch (Exception)
    { }
}

文本框和数字上下框的总和在使用上下时总是相差一位数。使用 botton/ numericupdown 中的值更改时。

最初以 1 开头,更改后在下面的文本框中不添加任何值。

当被 numeridown 改变时,它会像这样改变:

您需要使用 NumericUpDown.Value 属性,而不是 Text 属性。
如果您验证在 TextBox 中输入的值,也会更好。您可以为此使用 int.TryParse()

if (int.TryParse(textBox1.Text, out int inputValue)
{
    textBox2.Text = $"{inputValue + numericUpDown1.Value};
}

String interpolation ($"{ }") 可从 C# 6.0+.
获得 如果您使用的是以前的版本,请使用 [int].ToString()

textBox2.Text = (inputValue + numericUpDown1.Value).ToString();

如果out variable declarationC# 7.0+)不可用,声明变量before-hand:

int inputValue = 0;
if (int.TryParse(textBox1.Text, out inputValue)
{
    textBox2.Text = $"{inputValue + numericUpDown1.Value};
}

对于 Visual Studio 2012/2013,C# 5.0

int inputValue = 0;
if (int.TryParse(textBox1.Text, out inputValue)
{
    textBox2.Text = (inputValue + numericUpDown1.Value).ToString();
}