vb新手,请问窗体层和form1的区别
照书上的例子,在窗体层声明变量,我在“通用”里声明变量能通过程序,而在form1中声明变量就通不过,在VB中窗体层不就是在form1中声明变量吗,它们不一样吗?谢谢了!...
照书上的例子,在窗体层声明变量,我在“通用”里声明变量能通过程序,而在form1中声明变量就通不过,在VB中窗体层不就是在form1中声明变量吗,它们不一样吗?谢谢了!
展开
3个回答
展开全部
你说的Form1指的是Form1_Load这个过程吧?
在Sub或Function里面声明的变量只能是过程级变量,只能是本过程使用,其它过程无法访问。
在窗体的通用部分用Dim或Private声明的是窗体级变量,整个Form1都可以访问,其它窗体无法访问。
在窗体的通用部分用Public声明的是全局变量,整个工程都可以访问。
你需要注意的就是这个变量作用域的问题,如果你在Form1_load里声明了变量A,然后在别的过程比如Label1_Click里使用Form1_load里的A是不行的。
结论就是过程级变量和窗体级变量“不一样”。
在Sub或Function里面声明的变量只能是过程级变量,只能是本过程使用,其它过程无法访问。
在窗体的通用部分用Dim或Private声明的是窗体级变量,整个Form1都可以访问,其它窗体无法访问。
在窗体的通用部分用Public声明的是全局变量,整个工程都可以访问。
你需要注意的就是这个变量作用域的问题,如果你在Form1_load里声明了变量A,然后在别的过程比如Label1_Click里使用Form1_load里的A是不行的。
结论就是过程级变量和窗体级变量“不一样”。
展开全部
(通用) '这里声明的变量时模块级变量,整个窗体的各个过程、函数都可以调用,窗体关闭后变量才失效。
Private Sub Form_Load()
'窗体启动过程,这里声明的变量,仅仅在窗体启动时有效,窗体启动后变量就失效。
End Sub
Private Sub Form_Click()
'窗体单击过程,这里声明的变量,仅仅在窗体单击时有效,过程完成后变量就失效。
End Sub
窗体的代码界面除(通用) 外,其他都是过程或函数,声明变量必须注意变量的生命期。 在过程或函数声明的变量仅仅在声明的过程或函数有效,过程结束或函数调用结束,变量的生命期就结束了。
在(通用) 部分声明的变量是模块级变量,在过程或函数声明的变量是过程级变量,其生命期是不同的。
Private Sub Form_Load()
'窗体启动过程,这里声明的变量,仅仅在窗体启动时有效,窗体启动后变量就失效。
End Sub
Private Sub Form_Click()
'窗体单击过程,这里声明的变量,仅仅在窗体单击时有效,过程完成后变量就失效。
End Sub
窗体的代码界面除(通用) 外,其他都是过程或函数,声明变量必须注意变量的生命期。 在过程或函数声明的变量仅仅在声明的过程或函数有效,过程结束或函数调用结束,变量的生命期就结束了。
在(通用) 部分声明的变量是模块级变量,在过程或函数声明的变量是过程级变量,其生命期是不同的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在窗体中声明的全局变量,别的窗体调用时,需要这个格式:窗体名.变量名,在模块中声明的全局变量没有这个限制。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询