dポイントプレゼントキャンペーン実施中!

アンケート結果の集計のために、コマンドボタンをクリックするたび、ラベルのところにクリック数が表示されるプログラムを作ろうと思ってます
VB2010ですが、下記のコードでは、クリックしたら「1」とだけしか表示されませんでした
どうすれば、クリックの度、数が増えるのでしょうか?


Private Sub Button1_Click() Handles Button1.Click
Dim a As integer
a = a + 1
Label1.Text = a
End Sub

「VB2010 クリック数カウント」の質問画像

A 回答 (2件)

Dim a As integerがPrivate Sub Button1_Click()の中にいるからです。


ボタンが押される度にDim a As integerで値が初期化されるので
何回押してもa = 0 + 1が実行されて1しか出ないワケです。
aという変数を外だしにしてあげれば実現すると思いますよ。
    • good
    • 1
この回答へのお礼

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

お礼日時:2012/11/28 19:07

原因は変数"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
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!