【发布时间】:2010-06-14 19:30:23
【问题描述】:
我们可以有一个可以被多种形式操作的全局变量
【问题讨论】:
标签: vb.net
我们可以有一个可以被多种形式操作的全局变量
【问题讨论】:
标签: vb.net
简而言之,是的。您可以在模块 (.mod) 文件或类 (.vb) 文件中包含全局变量。
Module Module2
Public variable As String = "Testing"
End Module
【讨论】:
像这样声明一个变量:
Public Shared myVariable as Type
并从任何形式访问它。
【讨论】:
如果声明为 public,您可以从任何形式访问单个变量。
如果你在form1中定义它并想在form2中使用它,那么你可以从form2内部调用变量为-form1。variable_name>
举个例子-
Form1 代码
公开课表1
Public a As Integer = 10
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Form2.Show()
End Sub
结束类
表格 2 代码 公共类Form2
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MsgBox(Form1.a)
End Sub
结束类
【讨论】:
是的,可以做到。如果您将其声明为shared,它将仅存在于一个实例中。
Public Class SomeClass
Public Shared SomeField As String
End Class
不过,我建议将对该字段的访问封装到一个属性中:
Public Class SomeClass
Private Shared _someValue As String
Public Shared Property SomeProperty() As String
Get
Return _someValue
End Get
Set(ByVal value As String)
_someValue = value
End Set
End Property
End Class
通过将其包装到属性中,您可以更轻松地解决与值有关的问题,以防将来出现此类情况。
【讨论】:
您正在寻找的是“单例模式”。
但首先,您应该问自己是否真的需要它。也许这个变量可以作为参数传递给函数或属性。
【讨论】:
使用
Public x As Integer
在任何表单上,然后当您想在其他表单上使用该变量时,您可以键入表单名称,然后键入一个点,然后键入变量名称
喜欢这个
form1.x
干杯!!!
【讨论】: