• 沒有找到結果。

Visual Basic程序设计上机实践教程(第二版) - 万水书苑-出版资源网

N/A
N/A
Protected

Academic year: 2021

Share "Visual Basic程序设计上机实践教程(第二版) - 万水书苑-出版资源网"

Copied!
18
0
0

加載中.... (立即查看全文)

全文

(1)

第 5 章 常用标准控件

一、实验目的 

1.了解和熟悉直线(Line)控件、形状(Shape)控件和框架(Frame)控件的画法以及

主要属性的用法。 

2.掌握水平(HScrollBar)和垂直(VScrollBar)滚动条控件的使用方法。 

3.掌握单选按钮(OptionButton)控件、复选框(CheckBox)控件的使用方法。 

4.掌握列表框(ListBox)

、组合框(ComboBox)、计时器(Timer)和 ActiveX 控件的使

用方法。

二、实验指导

例 5­1  如图 5­1 所示,设计一窗体,运行时用户能通过窗体上单选按钮组和复选框按钮

来改变标签上文本的颜色和字形。

图 5­1  程序运行示意图

设计步骤如下:

①建立一个新的工程,将窗体的  Caption  属性设置为“单选按钮和复选框的使用”

。在窗

体上放置一个文本框控件 Text1,设置文本框 Text1 的 MultiLine 属性为 True。

②在窗体上放置一个框架控件  Frame1,然后在框架控件中放置三个单选按钮控件 

Option1~3。其标题分别为“红色”

“绿色”和“蓝色”

,调整好框架 Frame1 及框架内各控件

的布局。

③另添加一个框架控件  Frame2,在该框架中添加四个复选框控件  Check1~4,其标题分

别为“粗体”

“斜体”

“下划线”和“正常”

,调整好框架 Frame2 及框架内各控件的布局。

④添加窗体、单选按钮和复选框控件相关的事件代码如下:

l

窗体 Form1 的 Load 事件代码 

Private Sub Form_Load()  Text1 = "  中华人民共和国一定能建设成为富强、民主、文明的社会主义国家!"  End Sub

(2)

l

“红色”单选按钮 Option1 的 Click 事件代码 

Private Sub Option1_Click()  Text1.ForeColor = RGB(255, 0, 0)  End Sub  l

“绿色”单选按钮 Option2 的 Click 事件代码 

Private Sub Option2_Click()  Text1.ForeColor = RGB(0, 255, 0)  End Sub  l

“蓝色”单选按钮 Option3 的 Click 事件代码 

Private Sub Option3_Click()  Text1.ForeColor = RGB(0, 0, 255)  End Sub  l

“粗体”复选框 Check1 的 Click 事件代码 

Private Sub Check1_Click()  Text1.FontBold = True  End Sub  l

“斜体”复选框 Check2 的 Click 事件代码 

Private Sub Check2_Click()  Text1.FontItalic = True  End Sub  l

“下划线”复选框 Check3 的 Click 事件代码 

Private Sub Check3_Click()  Text1.FontUnderline = True  End Sub  l

“正常”复选框 Check4 的 Click 事件代码 

Private Sub Check4_Click()  Check1.Value = 0: Check2.Value = 0: Check3.Value = 0  Text1.FontBold = False  Text1.FontItalic = False  Text1.FontUnderline = False  End Sub 

例 5­2  设计一个如图 5­2 所示的日期确定程序。

图 5­2  程序运行示意图

设计步骤如下:

①建立一个新的工程,在窗体上放置九个标签控件  Label1~9,两个水平滚动条控件 

HScroll1~2,一个垂直滚动条控件 VScroll1,一个命令按钮控件 Command1。

(3)

②窗体及主要控件属性设置值如表 5­1 所示。

表 5­1  对象 属性 属性值 说明  Form1  Caption  滚动条的使用 其他取默认值  Label1、Label3、Label5  Caption  无  Caption  年份确定、月份确定、天数确定  Label2、Label4、Label6~9  Autosize  True  HScroll1  Max/Min  2100/1900  HScroll2  Max/Min  12/1  VScroll1  Max/Min  31/1  Command1  Caption  退出

③为窗体和控件添加相关事件代码。

l

“退出”命令按钮 Command1 的 Click 事件代码 

Private Sub Command1_Click()  End  End Sub  l

窗体 Form1 的 Load 事件代码 

Private Sub Form_Load()  Label1.Caption = HScroll1.Value  Label3.Caption = HScroll2.Value  Label5.Caption = VScroll1.Value  End Sub  l

水平滚动条 HScroll1 的 Change 事件代码 

Private Sub HScroll1_Change()  Label1.Caption = HScroll1.Value  End Sub  l

水平滚动条 HScroll2 的 Change 事件代码 

Private Sub HScroll2_Change()  Label3.Caption = HScroll2.Value  End Sub  l

垂直滚动条 VScroll2 的 Change 事件代码 

Private Sub VScroll1_Change()  Label5.Caption = VScroll1.Value  End Sub 

例  5­3  设计一个如图  5­3  所示的应用程序,要求在程序窗体中放置三个命令按钮 

Command1~3、一个图像框控件  Image1  和一个图片框控件  Picture1。程序运行时,单击“放

大”或“减小”命令按钮时,放在图像控件中的图像可以放大或减小,同时在图片框中显示相

对应的文字信息;单击“还原”命令按钮时,可还原图像尺寸。

设计步骤如下:

①建立一个新的工程,在窗体上放置三个命令按钮控件 Command1~3、左边一个图像框

控件 Image1、右边一个图片框控件 Picture1,其中,图像 Image1 的 Stretch 属性设置为 True,

(4)

其他控件各属性一般根据需要采用自定义即可。

图 5­3  程序运行效果图

②编写相应的事件代码。

l

应用程序的“通用”声明 

Dim n As Integer '用于记录图片框中的输出项数  Dim h&, w&  l

窗体 Form1 的 Load 事件代码 

Private Sub Form_Load()  Image1.Picture = LoadPicture(App.Path & "\小女孩 3.jpg")  'App.Path 用于确定工程所在路径  n = 0 '赋初值  h = Image1.Height  w = Image1.Width  End Sub  l

“放大”命令按钮 Command1 的 Click 事件代码 

Private Sub Command1_Click()  Image1.Width = Image1.Width * 1.15  Image1.Height = Image1.Height * 1.15  Picture1.Print "放大图片"  n = n + 1  If n = 10 Then Picture1.Cls: n = 0  End Sub  l

“减少”命令按钮 Command2 的 Click 事件代码 

Private Sub Command2_Click()  Image1.Width = Image1.Width * 0.95  Image1.Height = Image1.Height * 0.95  Picture1.Print "减小图片"  n = n + 1  If n = 10 Then Picture1.Cls: n = 0  End Sub  l

“还原”命令按钮 Command3 的 Click 事件代码 

Private Sub Command3_Click()  Image1.Height = h  Image1.Width = w  Picture1.Cls  End Sub

(5)

例 5­4  设计一个如图 5­4 所示的标题移动窗体。程序运行开始,三个命令按钮的标题分

别为“开始”

“暂停”和“停止”

“暂停”和“停止”按钮不可用。单击“开始”按钮,标签 

Label1  的标题从左向右移动,当标题移动到窗体右侧时,自动地从右向左移动。同时,标题

变为“继续”

。单击“暂停”按钮,停止移动,同时该按钮变为不可用。单击“停止”按钮,

标签 Label1 停止移动,

“继续”变为“开始”

“暂停”和“停止”按钮不可用。

图 5­4  程序运行示意图(左为设计界面,右为运行界面)

设计步骤如下:

①建立一个新的工程,在窗体上放置三个命令按钮控件  Command1~3、一个标签控件 

Label1 和一个计时器控件 Timer1。

②设置 Label1 的 BackStyle 属性为 0­Transparent(透明),Timer1 的 Interval 属性为 50,

即每隔 0.05 秒触发一个 Timer 事件。其他控件各属性一般根据需要采用自定义即可。

③编写相应的事件代码。

l

应用程序的“通用”声明 

Dim x As Integer '  l

“开始/继续”命令按钮 Command1 的 Click 事件代码 

Private Sub Command1_Click()  x = 1  If x = 1 Then  Timer1.Enabled = True  x = 0  Command1.Caption = "继续"  Command2.Enabled = True  Command3.Enabled = True  End If  End Sub  l

“暂停”命令按钮 Command2 的 Click 事件代码 

Private Sub Command2_Click()  If x = 0 Then  Timer1.Enabled = False  Command2.Enabled = False  x = 1  End If  End Sub  l

“停止”命令按钮 Command3 的 Click 事件代码 

Private Sub Command3_Click()  Timer1.Enabled = False  Command1.Caption = "开始"

(6)

Command2.Enabled = False  Command3.Enabled = False  End Sub  l

窗体 Form1 的 Load 事件代码 

Private Sub Form_Load()  Form1.Picture = LoadPicture(App.Path & "\Clouds.bmp")  '用 App.Path 确定工程所在文件路径  Command1.Caption = "开始"  Command2.Caption = "暂停"  Command3.Caption = "停止"  Command2.Enabled = False  Command3.Enabled = False  End Sub  l

计时器 Timer1 的 Timer 事件代码 

Private Sub Timer1_Timer()  Dim L&  L = Label1.Left  If Label1.Left = Form1.Width Then  Label1.Left = ­L  Else  Label1.Left = Label1.Left + 50  End If  End Sub 

④运行窗体并观察效果。

例 5­5  设计一个学生基本信息的数据输入窗体,单击“提交”按钮后,将输入的内容显

示在 ListBox 控件中,如图 5­5 所示。

图 5­5  程序运行效果图

分析:为了保证数据输入的规范和减少用户的键盘输入量,使用单选按钮控件选择性别,

使用 ComboBox 控件选择班级,使用 DateTimePicker 控件选择出生日期。

设计步骤如下:

①选择“文件”菜单中的“新建工程”命令,建立一个新工程(

“标准 EXE”

②选择

“工程”

菜单中的

“部件”

命令,

在出现的

“部件”

对话框中选择

“Microsoft Windows 

Common Controls­2 6.0(sp6)”部件,将其添加到工具箱中。

③在窗体中添加四个标签控件  Label1~4、一个文本框控件  Text1、两个单选按钮控件 

Option1~2、一个组合框控件  ComboBox1、一个列表框控件  List1  和一个日期采集器控件

(7)

DTPicker1。

④设置日期采集器控件 DTPicker1 的 Format 属性为 0­DtLongDate(即长日期格式),该控

件的其他属性及其他各控件的属性采用默认值即可。

⑤添加有关事件代码。

l

应用程序的“通用”声明 

Option Explicit  Dim  性别  As String  l

“提交”命令按钮 Command1 的 Click 事件代码 

Private Sub Command1_Click()  List1.AddItem ("姓名:" & Text1.Text)  List1.AddItem ("性别:" &  性别)  List1.AddItem ("班级:" & Combo1.Text)  List1.AddItem ("出生日期:" & DTPicker1.Value)  End Sub  l

“清除”命令按钮 Command2 的 Click 事件代码 

Private Sub Command2_Click()  Text1 = ""  Combo1.Text = ""  DTPicker1.Value = Now()  List1.Clear  End Sub  l

“退出”命令按钮 Command3 的 Click 事件代码 

Private Sub Command3_Click()  End  End Sub  l

“男”单选按钮 Option1 的 Click 事件代码 

Private Sub Option1_Click()  If Option1.Value = True Then  性别  = "男"  End If  End Sub  l

“女”单选按钮 Option2 的 Click 事件代码 

Private Sub Option2_Click()  If Option2.Value = True Then  性别  = "女"  End If  End Sub

三、实验练习 

1.在名称为  Form1  的窗体上画一个名称为  Shape1  的形状控件,画两个名称分别为 

Command1、Command2,标题分别为“圆形”

“红色边框”的命令按钮控件。将窗体的标题

设置为“图形控件的使用”

,如图 5­6(a)所示。请编写适当的事件过程,使得在运行时,单

击“圆形”按钮,将形状控件设为圆形;单击“红色边框”按钮, 将形状控件的边框颜色设

为红色(&HFF&),如图 5­6(b)所示。

(8)

要求程序中不得使用变量,每个事件过程中只能写一条语句。

(a)设计界面 (b)运行界面 图 5­6  练习 1 图 

2.如图 5­7(a)所示,窗体上已有部分控件,请按照图中所示添加框架和单选按钮。要

求:画两个框架,名称分别为 Frame1、Frame2,在 Frame1  中添加一个名为 Option1 的单选按

钮数组,含两个单选按钮,标题分别为“古典音乐”

“流行音乐”

,在  Frame2  中添加两个单

选按钮,名称分别为 Option2、Option3,标题分别为“篮球”

“羽毛球”

程序运行时,

“古典音乐”和“篮球”单选按钮为选中状态。单击“选择”按钮,将把选

中的单选按钮的标题显示在标签 Label2 中,如图  5­7(b)所示。如果“音乐”或“体育”复

选框未被选中,相应的单选按钮不可选。

(a)设计界面 (b)运行界面 图 5­7  练习 2 图

下面给出了窗体及控件的有关事件代码,请去掉程序中的?改为正确的内容,不能修改

程序的其他部分和控件属性。 

Private Sub Check1_Click()  If Check1.Value = 1 Then  Frame1.Enabled = True  Else  Frame1.Enabled = False  End If  End Sub  Private Sub Check2_Click()  If Check2.Value = 1 Then  Frame2.Enabled = True  Else  Frame2.Enabled = False  End If  End Sub  Private Sub Command1_Click()

(9)

If Check1.Value = 1 Then  'If ? = True Then  s = "古典音乐"  Else  s = "流行音乐"  End If  End If  If Check2.Value = 1 Then  'If ? = True Then  s = s & "篮球"  Else  s = s & "羽毛球"  End If  End If  'Label2.Caption = ?  End Sub  Private Sub Form_Load()  Check1.Value = 1  Check2.Value = 1  End Sub 

3.如图 5­8 所示,窗体上有两个初始标题分别为“移动”和“退出”的命令按钮控件,

一个初始状态为不可用的时钟控件  Timer1。请画一个标签控件  Label1,其标题为“计算机考

试”

,显示格式为黑体小四号字,左边界为 500,且能根据显示内容自动调整大小。

程序功能如下:

①单击标题为“移动”的按钮时,该按钮标题自动变换为“暂停”

,且标签内容在窗体中

开始向右移动;当移动到窗体右边时,标签移动方向改变为从右向左移动。

②单击标题为“暂停”的按钮时,该按钮标题自动变换为“移动”

,并暂停标签内容的

移动。

③单击“退出”按钮,则结束程序运行。

命令按钮的 Click 事件过程已经给出,但事件过程不完整,请将其中的注释符去掉,把?

改为正确的内容,以实现上述程序功能(不得修改窗体文件中已经存在的控件和程序)

图 5­8  练习 3 图  Dim flag As Integer  Private Sub Form_Load()  flag = 0  End Sub

(10)

Private Sub Command1_Click()  If Command1.Caption = "移动" Then  Timer1.Enabled = ?  Command1.Caption = "暂停"  Else  Timer1.Enabled = False  Command1.Caption = "移动"  End If  End Sub  Private Sub Command2_Click()  End  End Sub  Private Sub Timer1_Timer()  Select Case flag  Case Is = 0  Label1.Left = Label1.Left    ?    100  If Label1.Left + Label1.Width = Form1.Width Then flag = 1  Case Is = 1  Label1.Left = Label1.Left    ?      100  If Label1.Left = 0 Then flag = 0  End Select  End Sub 

4.如图  5­9  所示,窗体上有两个列表框,名称分别为  List1、List2,List2  中已经预设了

内容;还有两个命令按钮,名称分别为  C1、C2,标题分别为“添加”

“清除”

。程序的功能

是:在运行时,如果选中右边列表框中的一个列表项,单击“添加”按钮,则把该项移到左边

的列表框中;若选中左边列表框中的一个列表项,单击“清除”按钮,则把该项移回右边的列

表框中。

图 5­9  练习 4 图

窗体文件中已经给出了所有控件和程序,但程序不完整,请把程序中的?改为正确的内容。 

Private Sub C1_Click()  Dim k As Integer  k = 0  While (k < List2.?)  If ?.Selected(k) = True Then  List1.AddItem List2.Text  List2.RemoveItem ?  End If  k = k + 1

(11)

Wend  End Sub  Private Sub C2_Click()  List2.AddItem List1.Text  List1.RemoveItem List1.?  End Sub 

5.如图 5­10(a)所示,在窗体上有一个命令按钮,其名称为 Command1,标题为“移动”

有一个文本框,名称为 Text1,可以多行显示;此外还有一个列表框,其名称为 List1。程序运

行后,会在列表框中显示几行文字,如果单击命令按钮,则把列表框中的文字移到文本框中,

如图 5­10(b)所示。

(a)设计界面 (b)运行界面 图 5­10  练习 5 图 

6.如图  5­11  所示,在  Text1 文本框中输入一个任意的字符串(要求串的长度≥10)

,然

后选择组合框中的三个截取运算选项之一。单击“计算”按钮,将截取运算后的结果显示在 

Text2 文本框中。

图 5­11  练习 6 图

窗体文件中的程序已经在下面给出,但不完整,请把程序中的?改为正确的内容。 

Dim is_num As Boolean  Private Sub Command1_Click()  Dim tmpStr As String * 50  Select Case ?  Case 0  tmpStr = Left(Trim(Text1.Text), 5)  Case 1  tmpStr = Right(Trim(Text1.Text), 3)  Case 2  tmpStr = Mid(Trim(Text1.Text), ?)  End Select  Text2.Text = ?

(12)

End Sub  Private Sub Form_Load()  Text1 = "病毒与黑客技术的高速发展,使得 QQ、E­Mail、网上银行等各种密码被盗。"  Combo1.AddItem "左面取 5 个字符" : Combo1.AddItem "右面取 3 个字符"  Combo1.AddItem "中间取 4 个字符" : Combo1 = "请选择"  End Sub 

7.如图 5­12 所示,窗体上有一个组合框 Combo1,其中已经预设了内容;还有一个文本

框 Text1 和三个命令按钮,名称分别为 Command1、Command2、Command3,标题分别为“修

改”

“确定”

“添加”

。程序运行时,

“确定”按钮不可用。

图 5­12  练习 7 图

程序的功能是:在运行时,如果选中组合框中的一个列表框,单击“修改”按钮,则把

该项复制到  Text1  中(可在  Text1  中修改),并使“确定”按钮可用;若单击“确定”按钮,

则用修改后的 Text1 中的内容替换组合框中该列表项的原有内容,

同时使

“确定”

按钮不可用;

若单击“添加”按钮,则把 Text1 中的内容添加到组合框中。 

8.如图 5­13 所示,窗体中有两个滚动条,分别表示红灯亮和绿灯亮的时间(秒)

,移动

滚动框可以调节时间,调节范围为 1­10 秒。刚运行时,红灯亮。单击“开始”按钮则开始切

换:红灯到 10 秒后自动变为黄灯,1 秒后变为绿灯;绿灯到 10 秒后自动变为黄灯,1 秒后变

为红灯,如此切换。

图 5­13  练习 8 图

所提供的窗体文件已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,

把程序中的?改为正确的内容。

提示:在三个图片框 Picture1、Picture2、Picture3 中分别放置了红灯亮、绿灯亮、黄灯亮

的图标,并重叠在一起,当要使某个灯亮时,就使相应的图片框可见,而其他图片框不可见,

并保持规定的时间,时间到就切换为另一个图片框可见,其他图片框不可见。 

Dim red, green  Private Sub Command1_Click()  ? = HScroll1.Value  green = HScroll2.Value

(13)

Timer1.Enabled = ?  End Sub  Private Sub Timer1_Timer()  If Picture1.Visible Then  red = red ­ 1  If red = 0 Then  ?.Visible = False  Picture3.Visible = True  End If  ElseIf Picture3.Visible Then  Picture3.Visible = False  If red = 0 Then  Picture2.Visible = True  red = HScroll1.Value  Else  Picture1.Visible = True  green = HScroll2.Value  End If  ElseIf Picture2.Visible Then  green = ?  If green = 0 Then  Picture2.Visible = False  Picture3.Visible = True  End If  End If  End Sub 

9.如图 5­14 所示,在窗体上有一个名称为 Driver1 的驱动器列表框,一个名称为 Dir1 的

目录列表框,一个名称为 File1 的文件列表框,一个名称为 Label1 的标签,目录列表框与文件

列表框同步变化,并且在文本框 Text1 中显示当前文件夹中文件的数量。

图 5­14  练习 9 图

下面是窗体及有关控件的事件代码,程序不完整,请将程序中的?改成正确的程序。 

Private Sub Form_Load() '初始化  Text1.Text = File1.ListCount  End Sub  Private Sub Dir1_Change() '当改变分区时  File1.Path =?  Text1.Text = File1.ListCount '统计文件数

(14)

End Sub  Private Sub Dir1_Click() '当单击文件夹时  ? = Dir1.Path '将文件与文件夹关联  Text1.Text = File1.ListCount  End Sub  Private Sub Driver1_Change() '当文件夹变化时  Dir1.Path = Driver1.Drive '将文件夹与分区关联  Text1.Text = File1.ListCount  End Sub 

10.如图  5­15(a)所示,窗体中的横线(横坐标)的名称为  Line1,竖线(纵坐标)的

名称为 Line2;五个不同颜色的矩形是一个形状控件数组,名称为 Shape1,它们的 Visible 属

性都为 False;从左到右两个按钮的名称分别为 Command1、Command2;另有一个有五个元素

的标签数组,名称为 Label1,其所有元素的 Visible 属性都为 False。程序运行时,单击“输入

五个数据”按钮,可输入五个整数(最好在 100~2000 之间),并作为刻度值显示在纵坐标的

左面;单击“直方图”按钮,则按五个数分别的输入顺序显示直方图。例如:若输入的五个数

分别是 1200、500、850、1950、1500,则结果如图 5­15(b)所示。

(a)设计界面 (b)运行界面 图 5­15  练习 10 图

下面给出了“输入五个数据”和“直方图”两个命令按钮的 Click 事件代码,但程序不完

整,请把程序中的?改为正确的内容。 

Dim s(5) As Integer  Private Sub Command1_Click()  For k = ? To 5  s(k) = Val(InputBox("input"))  Label1(k ­ 1).Caption = s(k) 

Label1(k ­ 1).Move Line2.X1 ­ Label1(k ­ 1).Width, Line1.Y1 ­ s(k)  Label1(k ­ 1).Visible = ?  Next k  End Sub  Private Sub Command2_Click()  Dim a As Integer  For k = 1 To 5  Shape1(k ­ 1).Height = s( ? )  ? = Line1.Y1 

Shape1(k ­ 1).Top = a ­ Shape1(k ­ 1).Height  Shape1(k ­ 1).Visible = True

(15)

Next k  End Sub 

11.如图 5­16 所示,该程序将在上面的文本框中输入的英文字母串(称为“明文”

)加密,

加密结果(称为“密文”

)显示在下面的文本框中。加密的方法为:选中一个单选按钮,单击

“加密”按钮后,根据选中的单选按钮后面的数字 n,将“明文”中的每个字母改为它后面的

第 n 个字母(

“z”后面的字母认为是“a”

“Z”后面的字母认为是“A”

图 5­16  练习 11 图

下面给出了窗体所有控件和程序,但程序不完整,请把程序中的?改为正确的内容(注

意:不得修改程序中的其他部分和控件的属性)

。 

Private Sub Command1_Click()  Dim n As Integer, k As Integer, m As Integer  Dim c As String, a As String  For k = 0 To 2  If Op1(k).Value Then  n = Val(Op1(k). ? )  End If  Next k  m = Len(Text1.Text)  a = ""  For k = 1 To ?  c = Mid$(Text1.Text, ? , 1)  c = String(1, Asc(c) + n)  If c > "z" Or c > "Z" And c < "a" Then  c = String(1, Asc(c) ­ 26)  End If  ? = a + c  Next k  Text2.Text = a  End Sub  Private Sub Form_Load()  Text1 = "Actions speak louder than words."  End Sub 

12.如图 5­17 所示。窗体上有两个图像框控件 Image1~2,一个计时器控件 Timer1,两

个标签控件 Label1~2 和两个文本框控件 Text1~2。运行时,单击“发射”按钮,航天飞机图

(16)

标将向上运动,速度逐渐加快,全部进入云中后则停止,并把飞行距离(用坐标值表示)

、所

用时间(单位为秒)分别显示在文本框 Text1 和 Text2 中。

图 5­17  练习 12 图

下面给出了窗体所有控件和程序,但程序不完整,请把程序中的?改为正确的内容(注

意:不得修改程序中的其他部分和控件的属性)

。 

Dim a, t, d 'a,t,d 分别表示加速度、用时和距离  Private Sub Command1_Click()  Timer1.? = True  d = Image1.Top  End Sub  Private Sub Command2_Click()  End  End Sub  Private Sub Form_Load()  Image1.Picture = _  LoadPicture("C:\Program Files\Microsoft Office\MEDIA\CAGCAT10\j0215086.wmf")  Image2.Picture = _  LoadPicture("C:\Program Files\Microsoft Office\MEDIA\CAGCAT10\j0293828.wmf")  a = 1  t = 0  End Sub  Private Sub Timer1_Timer()  Image1.Top = Image1.Top ­ a * 2  If Image1.Top + Image1.Height <= Image2.Top + Image2.Height ­ 300 Then  ?= False  d = ? ­ Image1.Top  Text1 = d  Text2 = t * Timer1.Interval / 1000  End If  a = a + 0.1  t = ?  End Sub

(17)

13.如图 5­18 所示,窗体上有一个图片框控件 Picture1,一个标签控件 Label1,一个文本

框控件 Text1 和一个命令按钮控件 Command1。在文本框 Text1 中,输入要打印的行数,单击

“打印”按钮,可在图片框 Picture1 中打印相应行由“*”号组成的三角形。

图 5­18  练习 13 图

下面给出了窗体所有控件和程序,但程序不完整,请把程序中的?改为正确的内容(注

意:不得修改程序中的其他部分和控件的属性)

。 

Private Sub Command1_Click()  Dim n%, i%, k%  ?  Picture1.Cls  For i = 1 To n  Picture1.Print Space(n ­ i);  For k = 1 To ?  Picture1.Print "* ";  Next  ?  Next  End Sub 

14.

有如图 5­19 所示的窗体和控件,

程序运行时,

在 Text1 中输入一个商品名称,

在 Text2 

中输入一个数量,单击“计算”按钮,则会在列表框中找到该商品的单价,乘以数量后显示在 

Text3 中。若输入的商品名称是错误的,则在 Text3 中显示“无此商品”

图 5­19  练习 14 图

下面给出了“计算”命令按钮的 Click 事件代码,请把程序中的?改为正确的内容。 

Private Sub Command1_Click()  Dim flag As Boolean, name As String  flag = False  '表示列表框中是否有指定的商品名称  'For k = ? To List1.ListCount ­ 1  n% = InStr(List1.List(k), " ")      '" "中是一个空格  name = Left(List1.List(k), ?)

(18)

If RTrim(Text1) = name Then  List1.Selected(k) = ?  price = Val(Right(    ?    ))  flag = True  Exit For  End If  Next k  If flag = True Then  Text3 = Val(Text2) * price  Else  Text3 = ?  End If  End Sub 

15.新建一个工程,在窗体  Form1  上画两个单选按钮控件(名称分别为  Option1  和 

Option2,标题分别为“添加”和“删除”

),一个列表框控件(名称为 List1)和一个文本框控

件(名称为 Text1),如图 5­20 所示。编写窗体的 Click 事件过程。程序运行后,如果选择“添

加”单击按钮,然后单击窗体,则从键盘上输入要添加的项目(内容任意,不少于三个)

,并

添加到列表框中;如果选择“删除”单选按钮,然后单击窗体,则从键盘上输入要删除的项目,

将其从列表框中删除。程序的运行情况如图 5­20 所示。

图 5­20  练习 15 图

为实现上述功能,下面已经给出了窗体 Form1 的 Click 事件代码,但程序不完整,请将程

序中的?改为适当的内容,使其能正确运行,但不能修改程序中的其他部分。 

Private Sub Form_Click()  If Option1.Value = True Then  Text1.Text = InputBox("请输入要添加的项目")  List1.? Text1.Text  End If  If Option2.Value = True Then  Text1.Text = InputBox("请输入要删除的项目")  For i = 0 To ?  If List1.List(i) = Text1.Text Then  List1.RemoveItem i  End If  Next i  End If  End Sub

參考文獻

相關文件

病歷號 主診斷 藥品5碼 BLOOD WBC執行日 就醫流水號 次診斷1 藥品成份名 BLOOD WBC檢驗值 性別 次診斷2 藥品商品名 HGB執行日. 出生日期 次診斷3 藥品開立日期時間

z 方波是一週期波,其正及負峰值 存在的時間長度一樣,而兩者是 交互出現,如圖5-14所示。對一

檢視 檢視「 「 「 「輸出 輸出 輸出 輸出」 」 」 」視窗表示 視窗表示 視窗表示 視窗表示 程式碼沒有任何錯誤

样条插值的算例 三次样条的概念.

各块报告模板包括所谓的模板对象, 或对象, 每个被分配到某一 SpecManager 项目(光谱, 表格, 化学结构...) 或其它项目(文本标签)

 真值表必須在關鍵字table table table table及endtable endtable endtable之 endtable 間。. 

[r]

学校现有教学仪器设备超过1亿元,学校图书馆纸质藏书125万册,电子图书