VB变量自加的问题

发布时间:2024-05-23 20:30 发布:上海旅游网

问题描述:

我有一个TEXT框叫Text1,一个按钮叫Command1
代码如下
dim n1 as integer
Private Sub Command1_Click()
dim n1 as integer
n1 = n1 + 1
Text1.Text = n1
点击后TEXT1确实会变成1,但再次点击却还是1,为什么不会变成2?

问题解答:

n1应该定义为全局变量. 你定义重复了
dim n1 as integer
Private Sub Command1_Click()
dim n1 as integer 也就是这句不要
n1 = n1 + 1
Text1.Text = n1
end sub

Private Sub Command1_Click()
Static n1 As Integer
n1 = n1 + 1
Text1.Text = n1
End Sub

这样就行了

请使用Static申明的静态变量
用Dim声明的变量在过程结束后会全部回收,而静态变量不会
试下以下代码
===========
Private Sub Command1_Click()
Static n1 as integer
n1 = n1 + 1
Text1.Text = n1
end sub

==================================================
你这里的N1是局部变量,他的生存期就在command_click这个程序内。你每次单击,都会重新定义n1,然后加1,所以每次显示都是1.而外部定义的N1被局部变量N1同名覆盖了。这里,你把函数内部的N1定义去掉,把外面的N1定义为全局变量就可以了。
回答者: guojingcha - 副总裁 十一级
=================================================
正解

你没有循环阿,n1 = n1 + 1 前要有循环语句才会不断增加的,但是我不知道你要什么时候终止,不好帮你加,for语句、 while语句都可以

你这里的N1是局部变量,他的生存期就在command_click这个程序内。你每次单击,都会重新定义n1,然后加1,所以每次显示都是1.而外部定义的N1被局部变量N1同名覆盖了。这里,你把函数内部的N1定义去掉,把外面的N1定义为全局变量就可以了。

热点新闻