Visual Basic 对象支持属性、方法和事件。在 Visual Basic 中,称对象的数据(设置和属性)为属性,称各种可在对象上操作的过程为方法。事件是可被对象识别的动作,例如单击鼠标和按下键盘键,还可编写代码来响应事件。
改变对象的属性就可改变对象的特性。用收音机打比方,收音机的一个属性是音量。用 Visual Basic 的行话来说,就是收音机有个“Volume”属性,改变其值就可调节音量大小。假定收音机的音量值可设置在 0 到 10 之间。 如果能够通过 Visual Basic 控制收音机,则可在一个过程中写代码,把“Volume”属性值从 3 提高到 5,使声音更响一些:
Radio.Volume = 5
除了属性以外,对象还有方法。方法和属性都是对象的一部分。一般说来,方法就是要执行的动作,而属性就是要设置或检索的特性。以拨号打电话为例。可以说电话有一个“拨号”方法,拨一个 7 位电话号码的语法就是:
Phone.Dial 5551111
对象还有事件。当对象的某方面有变动时就触发了事件。例如,收音机可能有“VolumeChange”事件。电话可能有“Ring”事件,等等。
个别属性随着可以设置和取得它们的值的时间不同而不同。有的属性可在设计时设置。可在“属性”窗口设置这些属性的值而无需编写任何代码。而有的属性在设计时是不可用的;因此,这些属性只有通过代码在运行时设置。
在运行时可以设置并可获得值的属性叫做读写属性。在运行时只能读取的属性叫做只读属性。
在想改变对象的外观或特性时设置属性的值。例如,通过改变 TextBox 控件的 Text 属性,就可以改变文本框的内容。
用下列语法设置属性值:
object.property = expression
下面是设置属性的语句:
Text1.Top = 200 '
设置Top
属性为200
缇。Text1.Visible = True '
显示文本框。Text1.Text = "hello" '
在文本框中显示"hello"
。
想要在代码执行附加动作(例如给另一个对象赋值)之前得知对象的状态,这时就要读取属性值。例如,在运行代码之前能够返回 TextBox 控件的 Text 属性值,以确定文本框的内容,这里,代码可能改变值。
在大多数情况下可以用以下语法获得属性值:
variable = object.property
属性值可以作为较复杂的表达式的一部分,而不必将属性赋予变量。下面的代码计算控件数组中的一个新成员的 Top 属性,它等于前一个成员的 Top 属性加上 400。
Private Sub cmdAdd_Click () ' [
语句]
optButton (n).Top = optButton (n-1).Top + 400
' [
语句]
End Sub
提示 如果不只一次使用一个属性值,而且将这个值存储到一个变量中,则代码执行起来会更快。
方法能够影响属性值。例如在用收音机打比方的例子中,SetVolume 方法改变了 Volume 属性。与此类似,在 Visual Basic 中列表框具有 List 属性,而 Clear 和 AddItem 方法可以改变这一属性。
在代码中使用方法时如何书写语句,这取决于该方法要求多少参数,以及是否返回一个值。如果方法不要求参数,则用以下语法编写代码:
object.method
下例中,用 Refresh 方法重画图片框:
Picture1.Refresh '
强迫重画控件。
有些方法,如上面的 Refresh ,既无参数又不返回值。
如果方法要用多个参数,就用逗号将它们分开。例如, Circle 方法就要用代表窗体上圆的位置、半径和颜色的参数:
'
画一个半径为1200
缇的蓝色园。Form1.Circle (1600, 1800), 1200, vbBlue
如果要保存方法的返回值,就必须把参数用括号括起来。例如, GetData 方法从剪贴板返回一张图片:
Picture = Clipboard.GetData (vbCFBitmap)
如果没有返回值,则参数不会出现在括号中。例如,AddItem 方法没有返回值。
List1.AddItem "yourname" '
在列表框中添加"yourname"
。
详细信息 关于 Visual Basic 对所有方法提供的语法和参数,请参阅语言参考。