
2.2 窗体
窗体(Form)是Visual Basic的类,程序的界面设计总是从窗体开始的。在界面设计阶段,需要将控件添加到窗体上;在代码编写阶段,每个窗体对应着一个代码窗口;当程序运行时,每个窗体就对应着一个窗口。
在引用窗体对象的属性和方法时,如果省略窗体对象的名称,则表示引用的是当前窗体的属性和方法。窗体事件过程的名称中,窗体对象的名称总是Form,而不是Form1、Form2等。
1.属性
窗体的属性决定窗体的特征,有些窗体属性与其他对象的属性名称和含义类似。
(1)Name(名称)属性:窗体对象的唯一标志,该属性只能在属性窗口中设置。在当前窗体的代码窗口中设置该窗体属性时,可以省略窗体的名称,或者使用Me代替当前窗体,例如:
frmShow.Height=1000
Height=1000
Me.Height=1000 'Me代表当前窗体
(2)Caption属性:窗体的标题。
(3)BackColor属性:窗体的背景颜色。
(4)ForeColor属性:窗体上显示的文本或图形的颜色。
(5)BorderStyle属性:窗体边框的样式。
(6)AutoRedraw属性:是否重绘窗体上显示的图形和文字。
(7)Font属性:需要在程序设计阶段设置,输出字符的字体、大小、样式等。设置该属性后,添加到窗体中的其他控件的Font属性也以该设置为默认值。
除了通过设置Font属性集合包括如下子属性:
·Name属性:字体类型。例如:
Form1.Font.Name="隶书"
·FontSize属性:字号大小。例如:
Form1.Font.Size=18
·FontBold属性:文字是否加粗。例如:
Form1.Font.Bold=True
·Font.Italic属性:文字是否倾斜。
Form1.Font.Italic=False
(8)Height属性和Width属性:窗体的高度和宽度。
(9)Left属性和Top属性:窗体在屏幕上的位置,如图2-10所示。

图2-10 Left和Top属性
(10)Enabled属性:窗体是否可用。取值为False时,窗体标题栏呈灰色显示,表示处于不可用状态,不响应外界事件。
(11)Visible属性:窗体在程序运行时是否可见。
(12)Picture属性:在窗体中显示图片。
在代码中设置该属性应使用LoadPicture()函数,格式为
对象名.Picture=LoadPicture("图片文件路径和文件名")
例如:

要清除窗体中的图像,可以使用LoadPicture函数进行删除。
Me.Picture=LoadPicture("")
2.事件
(1)Load事件。当窗体装入内存时触发该事件,通常在该事件发生时进行控件、变量的初始化工作,例如设置窗体大小。
(2)Click事件。单击一个窗体的空白区域时触发该事件。
(3)Resize事件。改变窗体大小时将触发该事件。
3.方法
(1)Print方法。Print方法用于在窗体上输出数据,也可用于在图片框等对象中输出数据。该方法的语法格式如下:
对象名.Print参数
例如:参数如果放在双引号内就被原样输出,否则输出计算结果。

程序运行结果为
a+20的值为:
30
在一般情况下,每执行一次Print方法都要自动换行,为了仍在同一行上输出,可以在语句末尾加上一个分号或一个逗号。分号表示前后输出内容紧挨着;逗号表示先后输出的内容有一段距离。例如:

程序运行结果为:
Hello VBWorld
(2)Cls方法:用于清除窗体上输出的内容,例如:
Form1.Cls
(3)Show方法:用于显示一个窗体,可带有参数0或1。
①当参数为1时,如果不关闭该窗体就无法操作其他窗体,这种窗体显示方式称为“模式”显示方式。例如,在工程中添加两个窗体,在Form1的代码编辑窗口中编写如下事件过程:

程序运行时,单击Form1窗体时显示Form2窗体,只有关闭Form2窗体,才能回到Form1窗体进行操作。
②当参数为0时,即使不关闭该窗体,也可以操作其他窗体,这种窗体显示方式称为“无模式”显示方式。