投稿者 魔界の仮面弁士  (社会人) 投稿日時 2009/8/25 09:01:12
まず、「数値 + 数値」が「数値」なのは当然ですね。
問題は、文字列が混じった場合かと思います。

VB の場合、「文字列 + 文字列」は「文字列」となります。
そのため、"1" + "2" は、"12" となります。

一方、「文字列 + 数値」や「数値 + 文字列」の場合には数値演算となります。
(数値に変換できない文字が含まれているとエラーとなります) 


> これを3にするにはどうしたらいいのでしょうか?
入力された値を『数値』にすれば良いことになります。

VB.NET であれば、TextBox の代わりに NumericUpDown を使う事ができます。
Text プロパティの代わりに、Value プロパティを使うことで、数値を得ることができます。

NumericUpDown3.Value = NumericUpDown1.Value + NumericUpDown2.Value


あるいは、CInt や CDec 関数などを用いて、文字列を数値に変換するという手もあります。
もし、数値以外の入力がありえる場合には、Decimal.TryParse メソッド等を用いると良いでしょう。