vb中如何跨窗口调用变量

前端之家收集整理的这篇文章主要介绍了vb中如何跨窗口调用变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
主要有三种办法:
1、模块里的公共变量
添加一个模块Module,在模块里声明变量。
Public FormValueA As Long
你可以在任何窗体里直接用FormValueA调用它。
但这个办法最不可靠,只适合在一些非常简单的小程序里使用。
因为这种变量任何窗体、模块都可以改变它的值。如果你在其他的窗体、模块意外地改变了它的值,或者是在不恰当的时机改变它的值,很容易造成程序错误

2、公共变量
假如有个窗体叫Form1,在窗体里声明一个公共变量FormValueB。
Public FormValueB As Long
那么你在其他窗体里可以用Form1.FormValueB调用它。
这个办法也不可靠,在一些正规程序设计里应该被避免使用。
因为任何一个外部的过程都有可能改变这个值,也容易出现混乱。
但它至少比第一种好一些。
3、给窗体添加属性
假如有个窗体叫Form2,在窗体里声明一个属性FormValueC。
在窗体里声明一个私有变量FormValueD。
Private FormValueD As Long
Public Property Get FormValueC() As Long
'输出属性
FormValueC = FormValueD
End Property
Public Property Let FormValueC(ByVal vNewValue As Long)
'输入属性
FormValueD = vNewValue
你在其他窗体里可以用Form2.FormValueC调用它。
在Form2窗体里,这个属性的值实际保存在FormValueD变量里。
这个办法最复杂,但这是比较正规的做法。
你可以在输入、输出过程中对变量进行一些检测、判断,这样可以避免外界的调用对这个窗体造成干扰。
属性的值有时候未必在窗体里是一个变量。
比如:你写一个登记个人信息的窗体。假如输入了身份证号码,那么生日属性可以从身份证号码里提取。这样,生日属性就不必有个专门的变量存储,类似这样。
Public Property Get Birthday() As Long
……从身份证号码提取生日……
Birthday = 被提取出来的生日
表面上看,你调用了Form3.Birthday好像从变量赋值一样获得生日。但实际上这个属性的值是属性的过程算出来的。 原文链接:https://www.f2er.com/vb/257348.html

猜你在找的VB相关文章