《算法与程序设计》

第03-04课 选择结构初步

> > > > 教学内容 实践内容 教学资源 FQA

千变万化的窗体—— 窗体属性的应用

尽管“窗体”看上去简单的不能再简单了，但是我们还是可以设计出千变万化的窗口来。它的属性有 50 多个呢。只要对“窗体”的属性稍做修改就可以实现下面的操作。

1． 锁定“窗体”大小的对话框 ——窗体的BorderStyle属性的应用

“窗口”和“对话框”是Windows的灵魂，在VB中它们都是由“窗体”演变而来的。去掉“窗体”中的“最大化”“最小化”按钮就可以做出“对话框”的雏形。

打开 VB，展现在我们面前的就是一个窗口模样的东西，它在 VB 中叫“窗体”，由它可以演变出各种各样的窗口和对话框。仔细观察可以发现，这个窗体四周有八个小点，同时，属性窗口的上面显示着“Form1”，这两点说明目前窗体处于选中状态，窗体中任何一个内容 （包括窗体在内），只有在被选中的情况下，才能对它进行各种操作，当然，一次可以选中多个对象（只要按住Shift或Ctrl后依次单击各对象即可），同时对多个对象进行操作。“Form1”是系统给它的默认名称，“Form1”是被自动选中的。

选中“Form1”，在属性窗口中单击“BorderStyle”属性 ，单击后面的向下拉按钮，

窗体的 BorderStyle 属性

其中有六种选择，标号为 0—5，默认的选择是 2--Sizable，即“可调整大小的”。我们选择其中的“3—Fixed Dialog”，之后，观察一下窗体有什么变化，你会发现窗体上的“最大化”“最小化”按钮不见了，窗体已经变成一个对话框了。3 号选项被称为“双线固定对话框”，无法调整大小的厚边框窗体，它是专门为“对话框”设计的。

Form1.BorderStyle=3

几个选项的含义是：

0-----None | 窗体没有框线
1-----Fixed Single | 窗体边框单线固定（无法调整大小的薄边）
2-----Sizable | 窗体大小可调整大小的
3-----Fixed Dialog | 双线固定对话框
4-----Fixed ToolWindow | 单线固定的工具窗口（窗口上只剩下一个小号的“关闭”按钮，而且无法调整大小）
5-----Sizable ToolWindow | 可以调整大小的工具窗口，类似于 4 号，但是窗口大小可以调整。

2．让窗体一开始运行就最大化 ——窗体的WindowState属性的应用

运行后的窗口状态并不是一成不变的，我们可以随时改变它的状态。

选中窗体 ，在属性窗口的最下面寻找“WindowState”的属性 ：

窗体的“WindowState”属性

单击它右边选择框里的下箭头，在弹出的菜单中有三个选择：

0-----Normal | 运行后的窗体保持设计时大小
1-----Minimized | 运行后的窗体将最小化，显示在状态栏上
2-----Maximized | 运行后的窗体将被最大化，充满屏幕

3．一个简单的屏幕保护程序——BorderStyle与WindowState属性的应用

如果把窗体的“WindowState”属性设置为“2----- Maximized”，“BorderStyle”属性设置为“0-----None”，然后运行程序，屏幕上将空空如也，什么都没有，这就是一个最简单的屏幕保护程序。如何退出它呢？

4． 锁定窗体右上角的某个按钮——窗体的MinButton、MaxButton属性 的应用

如果你只是想 锁定窗体的“最大化”或“最小化”按钮，使它不起作用，只要将窗体的“MaxButton”或者“MinButton”属性值改为 False 即可。MaxButton和MinButton 属性均有两个值 True、False，默认值为True。

Form1.MaxButton=False | Form1.MinButton=False

注意：锁定窗体上的按钮后，窗口的大小还是可以调整的。但通过BorderStyle固定窗体边框后，窗体的大小是不可调的。

5． 没有“最大化”“最小化”“关闭”按钮的窗口——窗体的ControlBox属性

如果你想同时把窗口右上角的三个按钮都去掉，那就需要改变把窗体的另一个属性“ControlBox”，只要把它的值变为 False，窗口的形状就变为：

Form1.ControlBox=False

6． 更换窗体的图标——窗体的Icon 属性

在 Windows 中，任何一个窗口当它最小化时都有一个图标标识，如 Word 的图标是，“我的电脑”的图标是，等等，当打开这些窗口时，相应的图标就会出现在窗口的标题栏上。用 VB 编写的应用程序的默认图标都是，但是，这些图标并不是一成不变的，我们可以在设置属性或编写代码的时候，随时更换它们。

选中一个窗体，在属性窗口中找到名为“Icon”属性，单击该属性，属性值设置框中出现带有三个点的按钮，单击它，就会打开一个“加载图标”的对话框：

在对话框中 有一个“COMMON”文件夹，其中的“Graphics”文件夹 中有一个“Icons”子文件夹，这是 VB 应用软件为我们提供的图标库，其中包括各种类型的图标文件，选择之即可。

7． 更换窗体的背景——BackColor与Picture属性的应用

窗体的背景也是可以随意更换的。我们 既可以改变它的颜色，也可以插入一幅图片。

（1） 改变窗体的背景颜色

修改窗体的“BackColor”属性 值即可以改变窗体的背景。

（2） 插入背景图片

在窗体的“Picture”属性 后面选择一个图文件，就可以为窗体的背景添加背景图片。

如果不需要背景图片了，那就将它删除，删除的办法是：首先选中窗体，然后单击“Picture”属性设置框，最后按一下 Delete 键，刚才选中的背景图片就被删除了。

8．改变窗口上鼠标指针的形状——MousePointer属性的应用

通常 Wndows 下，绝大多数窗口中的鼠标指针的形状都是，我们编写的 VB 应用程序中默认的鼠标指针也是这种类型，但是，VB 还为我们提供了许多其它的鼠标指针形状，还允许我们自己定义鼠标指针的形状。

选中窗体，在属性窗口中找到“MousePointer”属性并单击它，随后单击设置框中的下拉箭头，就会弹出一个选择框，移动选择框中的滑块，可以看到 VB 为我们提供了 16 种（0~15）固定的鼠标指针，还有一种自定义式（即 99）选择鼠标指针。

表 1 鼠标指针

设置值 | 名称 | 说明
0 | Default | 缺省值
1 | Arrow | 箭头指针
2 | Cross | 十字形指针
3 | I-Beam | I 形插入指针
4 | Icon | 箭头图标
5 | Size | 上下左右全方位指针
6 | Size NE SW | 东北西南方向的双箭头指针
7 | Size N S | 南北方向的双箭头指针
8 | Size NW SE | 西北东南方向的双箭头指针
9 | Size W E | 东西方向的双箭头指针
10 | Up Arrow | 向上的箭头指针
11 | Hourglass | 沙漏指针
12 | No Drop | 禁止指针
13 | Arrow and hourglass | 箭头及沙漏指针
14 | Arrow and Question | 箭头及问号指针
15 | Size all | 上下左右全方位指针
99 | Custom | 自定义鼠标指针 与 MouseIcon 属性联合使用

我们只要选择了 0~15 中的任何一种，运行程序后，在窗口中移动鼠标就会看到鼠标指针的变化。如果你希望自己定义鼠标指针的形状，那就在“MousePionter”属性中选择“99-Custom”，然后在“MouseIcon”属性中选择具体的图标，具体方法与选择窗体的图标方法相同，这里就不再讲解了。

9．更换窗体的标题——窗体的Caption属性

Caption属性几乎是所有控件的属性，这里不多啰嗦。

10． 单击窗体后窗体就消失了 ——窗体的Visible属性的应用

大多数控件都的一个非常有用、也是很重要的属性“Visible”，即可视的。它有两个值：True 和 False，默认值 为 True，如果将它的值设置为 False，那么运行之后，该控件对象就不显示在窗体上了。对于窗体本身也是一样。如何我们先将一个窗体的 Visible 属性设置为 true，然后在窗体的Click事件

> > > > > Private Sub Form_Click()

> > > > > End Sub

过程中输入

> > > > Form1.visible=false

即

> > > > > Private Sub Form_Click()

> > > > > Form1.Visible = False

> > > > > End Sub

想想看，运行程序后，在窗体上任何一个位置单击鼠标会出现什么情况？

表一 窗体的常用属性

属性 | 作用 | 默认值 | 可选值
Caption | 定义窗体的标题 | form1 | 举例：三色板
borderStyle | 定义窗体的边框 | 2-Sizable | 0-None（没有框线） 1-Fixed Single（单线固定（无法调整大小的薄边）） 2-Sizable（大小可调整，是默认值） 3-Fixed Dialog（双线固定对话框，无法调整大小的厚边，对话框专用） 4-Fixed ToolWindow（单线固定工具窗口） 5-Sizable ToolWindow（可调整大小的工具工具窗口）
MaxButton | 决定窗体是否有最大化按钮 | True | True和False
MinButton | 决定窗体是否有最小化按钮 | True | True和False
ControlBox | 决定窗体是否有控制按钮 | True | True和False
Icon | 窗体的图标 | 无 | 可以自己选择任何图标文件（试一试）
Windowstate | 窗体运行的可见状态 | 0-Normal | 0-Normal（正常状态） 1-Minimized（窗口最小化） 2-Maximized（窗口最大化）（试一试：窗体最大化，并且无边框）
MousePointer | 决定鼠标的形状 | 0-vbDefault | 0-15，功能请自己查看 99-VbCuston,自定义鼠标指针形状，并通过MouseIcon来决定
Picture | 窗体的背景图片 | 无 | 可以自己选择
Visible | 决定显示或隐藏窗体 | True | True或False