我如何在Visual Basic中声明一个全局变量?

时间:2014-03-29 23:24:57

标签: vb.net

我想创建一个可以在多个表单中使用的变量。

它将成为整数的临时存储位置。

3 个答案:

答案 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个全局变量,则可以像使用匈牙利表示法样式名称一样命名它们。 这种方法非常简单而优雅。旧的是新的,新的是旧的。