2008-12-28 52 views
2

我對C#編程還很陌生。新的C#程序員 - 將兩個numericUpDown值一起添加?

我正在製作一個有趣的程序,它將兩個數字加在一起,而不是在消息框中顯示總和。我的表單上有兩個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':不能將十進制轉換爲'string'

謝謝!

回答

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

試試這個:

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

它從部件的NumericUpDown取值,並增加了他們獲得的類型Decimal的對象。然後將其轉換爲MessageBox所需的字符串。

0

現在很簡單。 NumericUpDown.Value有一個Decimal類型。 Messagebox.Show()需要一個字符串。所有你需要做的是

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

轉換的結果添加到一個字符串。

2

This works。

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

MessageBox.Show需要一個字符串作爲參數(這是第一個錯誤消息)。

相關問題