VB的全局变量

来源:百度知道 编辑:UC知道 时间:2024/06/15 03:18:46
我用VB编写了个全局变量但在窗体2中怎么都显示不出来.不知咋回事.以下是源代码.窗体一:
Public a As Integer
Sub test()
a = 1
End Sub

Private Sub Command1_Click()
Form2.Show
Form1.Hide
End Sub
窗体二:
Private Sub Form_Activate()
Print a
End Sub

窗体二:
Private Sub Form_Activate()
Print Form1.a
End Sub

但是这样输出结果为0,因为Form1中并没有调用子函数Test,所以a没有被赋值为1

你这个定义只是定义的窗体级变量,只在FORM1中有效,不是真正的全局变量,真正的全局变量要在模块中定义的,具体做法是添加一个标准模块,在模块的代码窗口中写Public a As Integer 才行。

在模块里是一种方法,还可以:
Private Sub Form_Activate()
Print Form1.a
End Sub
'OK

有以下2种解决方法
第一:可以在变量名前注名——窗体名 比如Form1.a 这样在窗体2中调用窗体全局变量a就可以了

第二:在标准模块中的声明部分定义 变量a 这样所有的窗体都可以使用该变量

试试在模块里定义