我想创建一个可以在多个表单中使用的变量。
它将成为整数的临时存储位置。
答案 0 :(得分:18)
在VB中有两种方法可以做到这一点:特定于VB的方式和非特定于VB的方式(即也可以用C#实现的方式。
VB特有的方法是创建一个模块并将变量放在模块中:
Public Module GlobalVariables
Public MyGlobalString As String
End Module
非特定于VB的方法是创建具有共享属性的类:
Public Class GlobalVariables
Public Shared Property MyGlobalString As String
End Class
这两种方法的主要区别在于您如何访问全局变量。
假设您始终使用相同的命名空间,特定于VB的方法允许您在没有类限定符的情况下访问变量:
MyGlobalString = "Test"
对于非特定于VB的方式,必须在全局变量前加上类:
GlobalVariables.MyGlobalString = "Test"
虽然它更详细,但我强烈推荐非特定于VB的方法,因为如果您想将代码或技能组转换为C#,则VB特定的方式不可移植。
答案 1 :(得分:1)
在VB6中只需在最高代码上声明
public GlobalVariable as string
然后,您可以根据需要使用任何形式的GlobalVariable。
喜欢
GlobalVariable = "house"
然后您可以以其他形式使用/ call
text1 = GlobalVariable
将显示值“ house”
答案 2 :(得分:0)
您只需将其作为PUBLIC添加到任何模块
即可示例:
模块Module1 '全球变量 Public glbtxtTemplateName As String'GEMOBAL VARIABLE FOR TEMPLATE
VB首先将Modals作为类加载,并且其中的所有PUBLIC项都直接共享。以这种方式思考。
假设我们有一个名为“MY_PROCESSES”的MODULE
当您在“MY_PROCESSES”中声明SUB或FUNCTION时,如果您希望在“MY_PROCESSES”的外部使用它,则声明为PUBLIC,如此
PUBLIC SUB LOAD_TEMPLATE() ....
要进入LOAD_TEMPLATE,您只需在任何地方的代码中调用它:
LOAD_TEMPLATE
因此,如果我需要设置或使用我在模块中公开的全局变量,我只需按名称引用它:
glbtxtTemplateName = “TEMPLATE_NAME”
如果glbtxtTemplateName =“”则LoadTemplate
我喜欢如上所述构建类,因为您可以更快地引用它而不记住变量,但如果您只需要1或2个全局变量,则可以像使用匈牙利表示法样式名称一样命名它们。 这种方法非常简单而优雅。旧的是新的,新的是旧的。