1. 掌握 PictureBox 控件的使用。
2. 掌握 Image 控件的使用。
3. 掌握Line控件的使用。
4. 掌握Shape控件的使用。
5. 了解绘图属性和VB坐标系统及其刻度。
一、设计工具栏和状态条
本程序介绍了使用PictureBox控件和Image控件设计工具栏和状态条的方法。当单击工具栏中的某按钮时,在状态条上将显示相应的提示信息。
本程序的设计步骤如下。
1.向窗体中添加两个PictureBox控件:Picture1和Picture2。
2.设置Picture1的Align属性为:1—Align Top;设置Picture2的Align属性为:1—Align Bottom,并调整它们的高度
3.向Picture1中放置一个Image控件。
4.编写以下代码,调试运行该程序。
PrivateSub Form_Load()
Image1.Stretch = True
'以下语句要在一行内完成
Image1.Picture =LoadPicture("C:\Program Files
\Microsoft Visual Studio\Common\Graphics
\Bitmaps\TlBr_W95\open.bmp")
EndSub
PrivateSub Image1_Click()
Picture2.Cls
Picture2.Print "您单击了打开按钮!"
EndSub
二、自动闪烁的红绿灯
当运行本程序时,单击“开始”按钮,使红灯、黄灯和绿灯自动交替显示,如图11-1所示。单击“退出”按钮,结束程序运行。
程序中使用的交通灯、红灯、黄灯和绿灯图形,可以使用“画图”程序自行绘制,如图11-2所示,并将对应的图形保存在C盘根目录,分别命名为lights.bmp、red.bmp、yellow.bmp和green.bmp,供本程序使用。

本程序的设计步骤如下。
1.向窗体中添加一个图像框Image1,并设置其大小和位置。
2.采用“复制”——“粘贴”的方法,向窗体中添加图像框Image2、Image3和Image4,将四个图像框重叠摆放在窗体上。
3.向窗体中添加定时器Timer1和两个命令按钮Command1、Command2,分别设置它们的Caption属性为“开始”和“退出”。
4.补充完善下列代码,并调试通过该程序。
PrivateSub Form_Load()
Image4.Picture =LoadPicture("c:\lights.bmp")
Image1.Picture =LoadPicture("c:\red.bmp")
Image2.Picture =LoadPicture("c:\yellow.bmp")
Image3.Picture =LoadPicture("c:\green.bmp")
Image1.Visible = False
Image2.Visible = False
Image3.Visible = False
Timer1.Interval = 1000
Timer1.Enabled = False
EndSub
PrivateSub Command1_Click()
EndSub
PrivateSub Command2_Click()
End
EndSub
PrivateSub Timer1_Timer()
Statici As Integer
Image4.Visible= False
Ifi = 1 Then
Image1.Visible = True
Image2.Visible = False
Image3.Visible = False
ElseIfi = 2 Then
Image1.Visible = False
Image2.Visible = True
Image3.Visible = False
Else
EndIf
EndSub
三、模拟龟兔赛跑
单击窗体上的“开始”按钮,乌龟和兔子开始同时跑动,兔子的跑动速度要远远快于乌龟,当兔子跑到中间时,停下不动,而乌龟继续以原来的速度跑动,乌龟即将到达终点时,兔子再次开始跑动,但最终以乌龟首先到达终点而结束比赛,同时窗体上显示“Game Over”字样。程序运行效果如图11-3所示。
本程序的设计步骤如下。
1.向窗体中分别添加两个图像框Image1和Image2,用来加载兔子和乌龟的图片。
2.添加两个定时器Timer1和Timer2,分别控制兔子和乌龟的移动。
3.添加两个Line控件,分别表示比赛的起点和终点。
4.添加一个Shape控件,以显示出比赛场地。

| 对象类型 | 对象名称 | 属性名称 | 属性值 |
| 窗体 | Form1 | WindowState | 2-Maxmized |
| 图像框 | Image1 | Stretch | True |
| Picture | C:\Program Files\Microsoft Office\Clipart\ Popular \Rabbit.wmf | ||
| Left | 700 | ||
| Image2 | Stretch | True | |
| Picture | C:\Program Files\Microsoft Office\Clipart\ Popular \Turtle.wmf | ||
| Left | 700 | ||
| 图形控件 | Shape1 | BorderColor | 黄色 |
| BorderWidth | 3 | ||
| 定时器 | Timer1 | Interval | 100 |
| Timer2 | Interval | 100 | |
| 命令按钮 | Command1 | Caption | 比赛开始 |
| 标签 | Label1 | Caption | 龟兔赛跑 |
| Label2 | Caption | 赛场 | |
| Label3 | Caption | 起点 | |
| Label4 | Caption | 终点 |
5.添加一个命令按钮Command1,当单击该按钮时,兔子和乌龟同时起跑。
6.参照图11-3所示,添加四个标签,分别显示相应的提示信息。
7.按照表11-1设置上述对象的属性,没有列出的属性使用系统默认的值。
8.向各过程中添加如下代码。
OptionExplicit
Dimdis As Single
PrivateSub Form_Load()
Timer1.Enabled= False
Timer2.Enabled= False
EndSub
PrivateSub Command1_Click()
Timer1.Enabled= True
Timer2.Enabled= True
dis= Line2.X1 - Line1.X1
EndSub
PrivateSub Timer1_Timer()
Image1.MoveImage1.Left + 300
IfImage1.Left + Image1.Width - Line1.X1 >= dis /2 Then _
Timer1.Interval= 0
EndSub
PrivateSub Timer2_Timer()
Image2.MoveImage2.Left + 50
IfImage2.Left - Line1.X1 + Image2.Width >= dis / 10 * 9 Then _ Timer1.Interval= 100
IfImage2.Left + Image2.Width >= Line2.X1 Then
Timer1.Interval = 0
Timer2.Interval = 0
Label1.Caption = "Game Over"
EndIf
EndSub