vb 计算点击次数

PrivateSubCommand1_Click()DimaAsIntegera=1Form1.Label1.Caption="单击按钮"&a&"次"MsgBox"单击按... Private Sub Command1_Click()
Dim a As Integer
a = 1
Form1.Label1.Caption = "单击按钮" & a & "次"
MsgBox "单击按钮" & a & "次"
a = a + 1
End sub
为什么消息框中显示的总是1次,也就是a没有累加上去??
展开
 我来答
百度网友9bc4eae
2010-08-02 · TA获得超过1394个赞
知道小有建树答主
回答量:189
采纳率:0%
帮助的人:102万
展开全部
这个牵扯到变量的作用范围。

Private a As Integer 'a应该是全局变量,在过程“外面”(也就是代码的头部)声明

Private Sub Form_Load()
a = 1 'a的初始值应该在窗体开始的时候设置。
End sub

Private Sub Command1_Click()
Form1.Label1.Caption = "单击按钮" & a & "次"
MsgBox "单击按钮" & a & "次"
a = a + 1
End sub
790942000
2010-08-02 · TA获得超过232个赞
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:103万
展开全部
Private Sub Command1_Click()
static a As Integer
Form1.Label1.Caption = "单击按钮" & a & "次"
MsgBox "单击按钮" & a & "次"
a = a + 1
End sub

说明:dim定义的是局部变量,过程运行完后不能保存住
可以用Static 来定义,还有每次按钮点击后因为有代码
a=1,所以,a每次都被初始化为1使得每次显示的都是1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4d5f1eef8
2010-08-02 · 超过17用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:0
展开全部
原因很简单,每点一次 会执行一次 a=1,自然每次结果都是1。

a每次都重新赋值成1了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沙慧月03
2010-08-02 · TA获得超过2157个赞
知道大有可为答主
回答量:2717
采纳率:100%
帮助的人:3612万
展开全部
dim语句是重新赋值,即点每一次后a=0
你要改为static
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式