- ベストアンサー
c#についての質問です。
c#についての質問です。 お世話になります。 .NETc#で開発をしています。 初心者です。 フォーム上にいくつかのlabelを配置させており そのlabel(仮にlabel1)に数字を入れたら、 隣のlabel(仮にlabel2)が8で掛けた演算結果 の数字を表示させたいのですが・・。 その記述方法が分かりません。 基本的な事だとは思うのですがどなたかご親切な方、 ご教授お願い致したく宜しくお願い致します。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
> labelに何か(数字が)入力が > あった時に計算される様に出来ないだろうか できますよ。URL参照。
その他の回答 (5)
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
おちゃらかに済ますならこんな感じで: double result = 0.0; Double.TryParse(textBox1.Text, out result); textBox2.Text = (result * 8.0).ToString();
- umr
- ベストアンサー率0% (0/1)
> 変換に失敗すると例外をthrowするので、ちゃんとcatchすべし。 > 例外扱うのが面倒ならば Double.TryParse 使うが楽。 質問者さんの質問内容からコードをシンプルにしたかったので、 try~catchはさけたのですが、確かにTryParseでよかったですね。 ということで、textBox1が、空のときや"abc"という入力があったときに、 Convert.ToDouble()をするとエラーして終了してしまうので、 下記のようにすると安全です。 double din; Double.TryParse(textBox1.Text, out din); // テキストボックスの文字列を実数に変換して代入 double dout = din * 8; // 実数型で計算 label1.Text = dout.ToString(); // 実数を文字列に変換してラベルに代入 あるいは、下記のようにします。 double din; try { din = Convert.ToDouble(textBox1.Text); // テキストボックスの文字列を実数に変換して代入 } catch { din = 0; // ToDoubleが失敗したときの処理 } double dout = din * 8; // 実数型で計算 label1.Text = Convert.ToString(dout); // 実数を文字列に変換してラベルに代入
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
> Convert.ToDouble 変換に失敗すると例外をthrowするので、ちゃんとcatchすべし。 例外扱うのが面倒ならば Double.TryParse 使うが楽。
- umr
- ベストアンサー率0% (0/1)
Button(button1)をクリックした時に、 TextBox(textBox1)に入力された文字列を8倍して Label(label1)に出力する場合は、次のように書きます。 private void button1_Click(object sender, EventArgs e) { label1.Text = Convert.ToString(Convert.ToDouble(textBox1.Text) * 8); } もうすこし丁寧に書きますと private void button1_Click(object sender, EventArgs e) { double din = Convert.ToDouble(textBox1.Text); // テキストボックスの文字列を実数に変換して代入 double dout = din * 8; // 実数型で計算 label1.Text = Convert.ToString(dout); // 実数を文字列に変換してラベルに代入 } このようになると思います。整数でよければdoubleではなくintを使用してください。
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
> そのlabel(仮にlabel1)に数字を入れたら、 > 隣のlabel(仮にlabel2)が8で掛けた演算結果 > の数字を表示させたいのですが・・。 なにがわからんですか? - labelに文字が入力されたことを知る方法 - labelに入力された文字列を取得する方法 - 文字列を数値に変換する方法 - 数値に8を掛ける方法 - 得られた数値をlabelに表示する方法 - ほかのなにか
お礼
色々ご回答下さりありがとうございます。 しかし、私が知りたかったのは、イベントのタイミングが ボタンを押した時ではなく、labelに何か(数字が)入力が あった時に計算される様に出来ないだろうかと言う事なのです。 この場合は、どうでしょうか。 宜しくお願い致します。
お礼
ありがとうございます。 大変参考になりました。 今後とも宜しくお願い致します。