发新话题
打印

请问:怎样声明一个全局的变量

在模块中声明用Public
如果你在FORM1中用Public声明的,在FORM2中使用,请使用Form1.变量名。

TOP

绝对是可以的。
你仔细查查Public语句
对了,声明不能在过程或函数中声明。
你在Form1的头部声明
Public intMyInt as Integer

你就可以在 Form2中使用
Form1.iniMyInt=2

TOP

你重新开了一个窗口,当然没有付值了,如果建立一下新窗口,当然要重新付值了。

TOP

Form1
Public an As String
Public Sub ProduceOrder_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    an=2
  End Sub

Form2
Private Sub InOutApp_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       Dim po As New ProduceOrder
       'Form1 的对象
       po.Visible = True[/color:43abfaa218]
       MsgBox(po.an)
  End Sub
就是这样,Form2里的不到Form1的那个值
注意红色的,也就是说po已经创建了,但没有加载,需要加载才行。

TOP

刚写了个程序试了一下,需要加载才行。
不过还有一个办法,就是在定义的时候直接付值,例如:
Public an As String = "OK"

TOP

你在
Dim po As New ProduceOrder
时,是在过程中声明的,当过程结束后,这个对象就被清除了。
如果你还要其过程中使用这个对象,当然里面的数据就全没有了。

你什么时候需要改变这个变量,直接使用 po.an="我的数据",就可以了。

无语……

TOP

发新话题