一、实验目的
1.掌握 Visual Basic 中常用控件的属性、方法、事件。
2.掌握常用 ActiveX 控件的特性并学会应用这些控件编程。
3.初步掌握建立基于图形用户界面应用程序的过程。
4.学会使用 Visual Basic 的常用控件设计用户界面。
二、实验准备
1.了解文本框的 ForeColor、FontSize、SelText、SelStart、SelLength 等属性。
2.了解列表框和组合框的使用、列表选项的添加。
3.了解菜单的设计方法。
4.使用定时器控件设计简单动画。
三、实验内容及步骤
1.字体大小和颜色控制。新建工程 1,在窗体 Form1 中设计如图 16.1 所示的界面,要求 文本框中的字体大小由组合框中选择的字号决定,字体颜色由单选按钮选定的颜色决定。
提示: (1)组合框的 List 属性可以设置为 8、12、16、20、24、28、32、36、40,可在属 性窗口中设置,每输入一个数要输入一个回车。
(2)要将多个单选按钮设置成按钮组,需要先画 Frame 控件,选定该控件后再添加单选 按钮控件数组,且将第一个单选按钮的 Value 属性设为 True,其他两个设为 False。
(3) 在组合框的 Click 事件过程中改变文本框的字体大小, 而在单选按钮控件数组的 Click 事件过程中改变文本框的颜色。
2.菜单设计。在实验内容 1 的工程 1 中新建窗体 Form2 并将其设为启动窗体,使用菜单 编辑器设计如图 16.2 所示的“编辑菜单”窗体,其中“编辑”菜单有“复制”和“粘贴”两 个菜单项。
图 16.1 要求设计的界面 图 16.2 “编辑菜单”运行界面
提示:启动窗体的设置方法:在工程资源管理器中右击“工程 1”选项,在弹出的“工程 1工程属性”对话框中的“启动对象”下拉列表框中选择 Form2 选项,单击“确定”按钮即可 将 Form2 设为启动窗体,如图 16.3 所示。
图 16.3 “工程 1工程属性”对话框
3.文本的选定与复制。在如图 16.2 所示的窗体上添加两个文本框(Text1 和 Text2)和两 个标签(Label1 和 Label2),参照图 16.4 设置其属性。
要求程序运行时在文本框 Text1 中输入一串字符并选定其中一部分,单击“编辑”→“复 制”命令则在标签 Label1 中显示所选字符串在原文本中的起始点,在 Label2 中显示其长度;
单击“编辑”→“粘贴”命令,则在 Text2 中显示 Text1 中的选定字符,如图 16.5 所示。
图 16.4 文本选定窗体界面设置 图 16.5 文本选定复制运行界面
提示: (1)参考教材 9.5.2 节中的文本框属性 SelStart、SelLength、SelText。
(2)在 Label1 中显示所选字符串的起始点,可在“编辑”→“复制”菜单项的 Click 事 件过程中使用以下语句:
Label1.Caption = Label1.Caption + Str(Text1.SelStart)
(3)同样,在“编辑”→“粘贴”菜单项的 Click 事件过程中给 Text2 赋值为 Text1 中的选定字符。
4.菜单调用窗体。在图 16.2 的窗体上增加一个菜单项,如图 16.6 所示,当单击“字体 颜色变化”菜单项时调用 Form1 窗体并关闭 Form2 窗体。
提示:在“字体特色变化”菜单控件的 Click 事件中使用以下代码调用 Form1:
Form1.Show
5.物体移动。在窗体上画一个圆(命名为 Shape1),如图 16.7 所示,将其设置为红色;
使 Shape1 垂直向下匀速运动,当其底部碰到窗体边界时立即向上运动;同样,当其顶部碰到窗 体边界时立即向下运动,如此往复。设置一个定时器 Time1,使得圆每隔 0.1 秒移动一定距离。
图 16.6 菜单调用窗体运行界面 图 16.7 设计题 5 的窗体
要求设计符合题意的界面并改正代码中隐含的 3 处错误,使程序能够按照题意要求运行。
Dim y As Long Dim w As Integer Private Sub Form_Load()
w = 100 '每隔一定时间间隔圆移动的距离
End Sub
Private Sub Timer1_Click() Dim m As Long
m = Form1.ScaleHeight Shape1.Height
If y > m And y < 0 Then '若标签到了窗体边界 w = 1 * w
End If y = y + w
Label1.Left = y '标签设置到新位置
End Sub
提示: (1)定时器有哪些事件?
(2)如何确定圆到了窗体边界?
(3)每隔一定时间间隔,如何让圆移动到一个新的位置?上下移动应改变其什么属性?
6.密码验证。设计如图 16.8 所示窗体 Form1,当用户单 击“确定”按钮且程序检查用户输入的用户名和密码与程序设 定的都相同时,显示提示信息“验证成功!” ;否则显示提示信 息“用户名或密码不正确,验证失败!” 。
要求:
(1)窗体中包含两个标签、两个文本框、一个命令按钮,
其属性设置参照图 16.8。
(2)当用户单击“确定”按钮时验证密码,通过消息框
显示成功与否的提示信息。 若验证失败, 则用户需要重新输入用户名或密码, 可反复操作三次,
再退出程序。 其中程序应设置文本框中的字符被选定, 使得用户不必先删除文本框中的字符才 能输入新的字符;若验证成功,可直接退出窗体。
图 16.8 密码验证运行界面
(3)运行程序时,输入用户名为 user、密码为 1111,可成功通过验证。
提示:定义一个窗体级变量,用于存放验证尝试的次数。
四、实验思考
1.若要求实验内容 1 的窗体一运行,就使组合框的当前选项为 12(即其下拉列表的第 0 项),如何操作或编程?
2.在实验内容 2 和 3 中增加一个“编辑”→“剪切”菜单项,应如何操作?
3.为什么要将实验内容 5 中的变量 y 定义在“通用”→“声明”处?
4.在实验内容 5 中加入滚动条以控制圆的运动速度。