2

私はC#プログラミングにかなり慣れていません。

メッセージ ボックスに合計を表示するよりも、2 つの数値を加算するプログラムを楽しみのために作成しています。フォームに 2 つの numericUpDowns とボタンがあります。ボタンを押すとメッセージボックスに答えが表示されるようにしたいです。

問題は、numericUpDowns の twp 値を一緒に追加する方法がわからないことです。

これまでのところ、ボタンイベントハンドラーにこれがあります:

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

しかし、明らかに、それは機能しません。2 つのコンパイラ エラーが表示されます。

ありがとう!

4

4 に答える 4

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()

于 2008-12-28T15:43:54.590 に答える
2

これは機能します。

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

MessageBox.Show は、パラメーターとして文字列を想定しています (これが最初のエラー メッセージです)。

于 2008-12-28T15:55:35.423 に答える
1

これを試して:

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

これは、numericUpDown コンポーネントから値を取得し、それらを追加してタイプ のオブジェクトを取得しますDecimal。これは、MessageBox が受け取る文字列に変換されます。

于 2008-12-28T15:44:42.997 に答える
0

これで簡単です。NumericUpDown.Valueの型は Decimal です。Messagebox.Show()文字列を期待します。あなたがする必要があるのは、

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

加算の結果を文字列に変換します。

于 2008-12-28T15:46:12.793 に答える