属性、方法和事件概述
VisualBasic的窗体和控件是具有自己的属性、方法和事件的对象。可以把属性看作一个对象的性质,把方法看作对象的动作,把事件看作对象的响应。日常生活中的对象,如小孩玩的气球同样具有属性、方法和事件。气球的属性包括可以看到的一些性质,如它的直径和颜色。其它一些属性描述气球的状态(充气的或未充气的)或不可见的性质,如它的寿命。通过定义,所有气球都具有这些属性;这些属性也会因气球的不同而不同。
气球还具有本身所固有的方法和动作。如:充气方法(用氦气充满气球的动作),放气方法(排出气球中的气体)和上升方法(放手让气球飞走)。所有的气球都具备这些能力。
气球还有预定义的对某些外部事件的响应。例如,气球对刺破它的事件响应是放气,对放手事件的响应是升空。
如果能对气球编程的话,VisualBasic代码将如下所示。其作用是设置气球的属性:
Balloon.Color=Red
Balloon.Diameter=10
Balloon.Inflated=True
注意代码的语法,首先是对象(Balloon),接着是属性(Color),然后是赋值(Red)。重复这条语句,但是,换一个不同的值,就可以改变气球的颜色。属性也可以在程序设计阶段在“属性”窗口中设置。
调用气球的方法是这样的:
Balloon.Inflate
Balloon.Deflate
Balloon.Rise5
它的语法与属性的语法相似,对象(一个名词)后面紧跟着方法(一个动词)。在第三个例子中有一个附加项,称为一个参数,表示气球上升的高度。一些方法有一个或多个参数,它们对执行的动作做进一步的描述。
气球对一个事件的响应如下所示:
SubBalloon_Puncture()
Balloon.Deflate
Balloon.MakeNoise"Bang"
Balloon.Inflated=False
Balloon.Diameter=1
EndSub
本例中代码描述了当刺穿事件发生时气球的行为:调用Deflate方法,然后以"Bang"(发出的声响)为参数调用MakeNoise方法。因为气球已不再是充气状态,所以把Inflated属性置为False,并给Diameter属性设置一个新值。
实际上对气球不能编程,但是,可以对VisualBasic的窗体或控件进行编程。作为程序员,由您作主。您决定应更改哪些属性,调用哪些方法,对哪些事件作出响应,从而得到希望的外观和行为。
设计窗体
窗体对象是VisualBasic应用程序的基本构造模块,是运行应用程序时与用户交互操作的实际窗口。窗体有自己的属性、事件和方法用于控制其外观和行为。
设计窗体的第一步是设置它的属性。这可以在设计时在“属性”窗口中完成,或者运行时由代码来实现。
注意设计时,即在VisualBasic环境中创建应用程序的任何时刻,此时你可以操作窗体和控件,设置它们的属性,对它们的事件编程。运行时是指实际运行应用程序并与应用程序进行交互的时间。
设置窗体属性
窗体的许多属性会影响窗体的外观。Caption属性决定窗体标题栏中显示的文本;图标属性设置在窗体最小化时显示的图标。MaxButton和MinButton属性决定窗体是否能最大化或最小化。通过改变BorderStyle属性,可以控制窗体如何调整大小。
Height和Width属性决定的窗体初始大小;Left和Top属性根据屏幕的左上角确定窗体的位置。WindowState属性可以把窗体设成在启动时最大化、最小化或正常大小。
Name属性设置窗体的名称,在代码中用这个名称引用该窗体。首次在工
程中添加窗体时,该窗体的名称被缺省为Form1;添加第二个窗体,其名称被缺省为Form2,以此类推。最好给Name属性设置一个有实际意义的名称,如给一个条目窗体命名为"frmEntry"。
熟悉这些窗体属性,最好的办法是实践。在“属性”窗口(图3.3)中更改窗体的一些属性,然后运行该应用程序并观察修改的效果。如果想详细了解每个属性,可以选择该属性并按F1键查看联机帮助。
窗体事件和方法
窗体作为对象,能够执行方法并对事件作出响应。
无论是因为用户交互,还是通过代码调整窗体的大小,都会触发一个Resize事件。当窗体尺寸变化时,允许您在窗体上进行移动控件或调整控件大小等操作。
每当一个窗体变成活动窗体时,就会产生一个Activate事件;当另一个窗体或应用程序被激活时,就会产生Deactivate事件。这些事件对初始化或结束窗体行为十分方便。例如,在Activate事件中,可以编写代码突出显示一个特定文本框中的文本;在Deactivate事件中,可以把更改保存到一个文件或数据库中。
要使一个窗体可见,可调用Show方法:
Form2.Show
调用Show方法与设置窗体Visible属性为True具有相同的效果。
窗体的许多方法都调用文本或图形。Print、Line、Circle和Refresh方法可
用于直接在窗体表面上写和画。这些方法和更多的方法将在第十二章“使用文本和图形”中详细讨论。
详细信息关于窗体的详细信息,请参阅第六章“创建用户界面”中的“再论窗体”。
->