- ベストアンサー
VBで倍数を出す方法
- VBでの数字の倍数を出力する方法について質問があります。
- 現在のコードでは、一度に10ずつ数字が増えていく仕組みになっていますが、1ずつ増えていくように修正したいです。
- また、100までの数字までしか表示されないようにする方法もご教示いただければと思います。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
はじめまして 突っ込みどころ満載すぎてあまりに楽しいので私も一緒に考えてみました。 全段階で作ったプログラムでは、ボタンを押すたびに数字がすべて切り替わるわけですね。 10 → 20 → 30 →… qc4 さんのサンプルを拝見するに、問題はどんどん追加されるイメージですかね。 10 → 10 ( 改行 ) 20 → 10 ( 改行 ) 20 ( 改行 ) 30 →… で、ポイントは 100 まで表示されたらそこで打ち止め。 Button1 の Click イベントで、100 より大きければ抜けるでいいと思います。 その観点から考えてソースを拝見しますに。 A. Dim b As Integer = 10 は不要 これでは TextBox1 に何を入れても 10 ずつ加算されますよ。あくまでも倍数の問題ですよね。 そういう意味では全段階で作ったプログラムも変なのですが、倍数の解釈次第ですか。 B. lblMessage.Text = a & ControlChars.CrLf & a + b は、何を表示しようとしているのかご理解されていますか。 最初の a は TextBox1.Text の値ですよね。つまり初期値の 10 です。 次の ControlChars.CrLf は改行。これはまぁいいとして。 最後の a + b は、初期値の 10 と、宣言されている 10 ですよね。 で、前段階で作ったプログラムの「m = lblmessage.Text」に当たる部分が見当たらないので、何度ボタンを押しても 10 ( 改行 ) 20 しか表示されないのではないでしょうかね。 以上を踏まえてプログラム Public Class Form1 Dim i As Integer Dim m As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click i = TextBox1.Text m = i + m If m > 100 Then Return End If lblMessage.Text = lblMessage.Text & ControlChars.CrLf & m End Sub End Class 変数名など極力、前段階のプログラムに合わせました。
お礼
ありがとうございます。 100で打ち止めのところは初めてなので助かりました。が… >m = i + m これでいいんですか…。難しく考えてました。 >lblMessage.Text = lblMessage.Text & ControlChars.CrLf & m これもこれでいいんですか。 &の意味を全然分かってませんでした。 どうもありがとうございます。 これから復習です。