• ベストアンサー

VB2010 クリック数カウント

アンケート結果の集計のために、コマンドボタンをクリックするたび、ラベルのところにクリック数が表示されるプログラムを作ろうと思ってます VB2010ですが、下記のコードでは、クリックしたら「1」とだけしか表示されませんでした どうすれば、クリックの度、数が増えるのでしょうか? Private Sub Button1_Click() Handles Button1.Click Dim a As integer a = a + 1 Label1.Text = a End Sub

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Dim a As integerがPrivate Sub Button1_Click()の中にいるからです。 ボタンが押される度にDim a As integerで値が初期化されるので 何回押してもa = 0 + 1が実行されて1しか出ないワケです。 aという変数を外だしにしてあげれば実現すると思いますよ。

donguri-xp
質問者

お礼

わかりやすく教えて下さりありがとうございます すぐ使うプログラムだったので本当に助かりました 感謝してます!!

その他の回答 (1)

回答No.2

原因は変数"a"がローカル変数として定義されているから です。メンバ変数として宣言すれば問題は解決します。 ちなみに 変数"a"を用いずカウンターを実現する例を作成しました。 Private Sub Button1_Click() Handles Button1.Click If Integer.TryParse(Me.Label1.Text, Nothing) <> True Then 'ラベルの文字列が整数に変換できない場合は0を設定 Me.Label1.Text = "0" End If 'カウンタの加算並びに結果セット Me.Label1.Text = CStr(CInt(Me.Label1.Text) + 1) End Sub

関連するQ&A