我对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':不能将十进制转换为'字符串'
谢谢!
答案 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());
将添加结果转换为字符串。