• 沒有找到結果。

一、实验目的 

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 中加入滚动条以控制圆的运动速度。

相關文件