在过程中,既可以使用Dim语句声明局部变量,也可以使用Static语句声明局部变量。并且Static语句的一般形式与Dim语句相同:
Static变量名As数据类型。
使用Static语句声明的变量称为静态变量,它与用Dim语句声明的变量的不同之处在于:当一个过程结束时,过程中所用到的静态变量的值会保留,下次再调用此过程时,变量的初值是上次调用结束时被保留的值。
对于使用Dim语句声明的局部变量,随过程的调用而分配存储单元,并进行变量的初始化。一旦过程结束,变量的内容自动消失,占用的存储单元也被释放。因此,每次调用过程时,变量都将重新初始化。
下面,用一个实例来说明静态变量的特点。
实例3.1静态变量
在【代码】窗口中编写窗体的Click事件过程如下:
Private Sub Form_Click()
Dim Sum As Integer
Print Sum
Sum= Sum +1
End Sub
运行程序,在窗体上单击数次,窗体上显示的数字始终是0,如图3.8所示。
将上述代码中的Dim替换成Static,如下所示:
Private Sub Form_Click()
Static Sum As Interger
Print Sum
Sum=Sum + 1
End Sub
再次运行程序,则每单击一次窗体,显示的数字加1,如图3.9所示。