新的C#Programmer - 一起添加两个numericUpDown值?

时间:2008-12-28 15:38:35

标签: c# numericupdown

我对C#编程很新。

我正在制作一个有趣的程序,它将两个数字相加,而不是在消息框中显示总和。我的表单上有两个numericUpDowns和一个按钮。按下按钮时,我希望它显示一个带答案的消息框。

问题是,我不确定如何将numericUpDowns中的twp值一起添加。

到目前为止,我在我的按钮事件处理程序中有这个:

private void button1_Click(object sender, EventArgs e)
    {
        MessageBox.Show(this.numericUpDown1.Value + this.numericUpDown2.Value);
    }

但显然,它不起作用。它给了我2个编译器错误: 1.'System.Windows.Forms.MessageBox.Show(string)的最佳重载方法匹配有一些无效的参数 2.参数'1':不能将十进制转换为'字符串'

谢谢!

4 个答案:

答案 0 :(得分:6)

this.numericUpDown1.Value + this.numericUpDown2.Value实际上正在对一个数字进行适当的评估,所以你实际上非常接近。问题是MessageBox.Show()函数需要一个字符串作为参数,并且你给它一个数字。

要将结果转换为字符串,请向其添加.ToString()。像:

private void button1_Click(object sender, EventArgs e)
    {
        MessageBox.Show((this.numericUpDown1.Value + this.numericUpDown2.Value).ToString());
    }

作为参考,如果您想要进行更高级的格式设置,则需要使用String.Format()代替ToString()。有关如何使用String.Format()的详细信息,请参阅this page

答案 1 :(得分:2)

这很有效。

    decimal total = this.numericUpDown1.Value + this.numericUpDown2.Value;
    MessageBox.Show(total.ToString());

MessageBox.Show期望一个字符串作为参数(这是第一个错误消息)。

答案 2 :(得分:1)

试试这个:

private void button1_Click(object sender, EventArgs e)
    {
        MessageBox.Show((this.numericUpDown1.Value + this.numericUpDown2.Value).ToString());
    }

它接受来自numericUpDown组件的值,并添加它们以获取类型为Decimal的对象。然后将其转换为MessageBox所采用的字符串。

答案 3 :(得分:0)

现在这很容易。 NumericUpDown.Value的类型为Decimal。 Messagebox.Show()期望一个字符串。您需要做的就是

MessageBox.Show((this.numericUpDown1.Value + this.numericUpDown2.Value).ToString());

将添加结果转换为字符串。