《用户界面设计实验2.docx》由会员分享,可在线阅读,更多相关《用户界面设计实验2.docx(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、用户界面设计实验2 第7章用户界面设计实验2 班级:俄语2班学号:姓名:孙晴 一、实验目的 1掌握定时器等控件的重要属性、方法和事件,熟悉它们的使用。 2掌握菜单设计与应用。 二、实验内容 (一)、实例解析:按下列说明操作,完成程序调试。 1、数字时钟设计。 思路: 在Timer事件中,获取当前时间,并显示在标签上 设计界面运行界面 (1)设计应用程序界面:设置1个标签,1个定时器。 属性设置:Timer1的Enabled为True,Interval为1000。 (2)编写事件代码: Private Sub Timer1_Timer() Label1.Caption = Time End Su
2、b (3)程序的运行及保存。 2、闹钟。 思路:在Timer事件中:获取当前时间、提取时分秒、将提取的时分秒与文本框中的时分秒进行比对 设计界面运行界面 (1)设计应用程序的界面:在窗体上创建5个标签;3个文本框;1个定时器。 属性设置:Timer1的Enabled为True,Interval为1000。 (2)编写事件代码: Private Sub Form_Load() Text1.Text = : Text2.Text = : Text3.Text = End Sub Private Sub Timer1_Timer() Label5.Caption = Time Now返回当前日期时间
3、;Time返回当前时间 s = Hour(Now) f = Minute(Now) m = Second(Now) t = Time s = Hour(t) f = Minute(t) m = Second(t) If Text1.Text = s And Text2.Text = f And Text3.Text = m Then MsgBox 闹钟时间到! End Sub (3)程序的运行及保存。 3、计时器。 思路: 在Timer事件中 1.从文本框获取目前的时分秒,转换为总秒数 2.将总秒数减1,然后再转换为时分秒放入文本框中 3.检查总秒数是否为0,即计时器结束 设计界面运行界面 (
4、1)设计应用程序界面: 在窗体上创建4个标签;3个文本框;2个命令按钮;1个定时器。 属性设置:Timer1的Enabled为False,Interval为1000。 (2)编写事件代码: Private Sub Form_Load() Text1.Text = : Text2.Text = : Text3.Text = End Sub Private Sub Command1_Click() Timer1.Enabled = True End Sub Private Sub Command2_Click() Timer1.Enabled = False End Sub Private Sub
5、 Timer1_Timer() zms = Val(Text1.Text) * 60 * 60 + Val(Text2.Text) * 60 + Val(Text3.Text) zms = zms - 1 Text1.Text = zms (60 * 60) Text2.Text = (zms - Text1.Text * 60 * 60) 60 Text3.Text = zms - Text1.Text * 60 * 60 - Text2 * 60 If Text1.Text = 0 And Text2.Text = 0 And Text3.Text = 0 Then Timer1.Enab
6、led = False MsgBox 记时结束! End If End Sub 或者:在设计时属性设置为:Timer1的Enabled为True,Interval为0 则代码为: Private Sub Command1_Click() Timer1.Interval = 1000 End Sub Private Sub Command2_Click() Timer1.Interval = 0 End Sub Private Sub Timer1_Timer() zms = Val(Text1.Text) * 60 * 60 + Val(Text2.Text) * 60 + Val(Text3
7、.Text) zms = zms - 1 Text1.Text = zms (60 * 60) Text2.Text = (zms - Text1.Text * 60 * 60) 60 Text3.Text = zms - Text1.Text * 60 * 60 - Text2 * 60 If Text1.Text = 0 And Text2.Text = 0 And Text3.Text = 0 Then Timer1.Interval = 0 MsgBox 记时结束! End If End Sub 4、菜单设计-上课示例 编一程序,进行两个操作数的算术运算练习。设计界面如下: (1)创建
8、应用程序的用户界面和设置对象属性: a)设计2标签;2文本框;2命令按钮 b)利用菜单设计器设计菜单:工具菜单设计器 菜单栏向用户提供功能选择,包括运算数的位数,运算符类型(加、减、乘)和退出程序 各菜单项的名称分别为: 位数b1 一位数b11 两位数b12 三位数b13 运算b2 加法b21 减法b22 乘法b23 退出b3 (2)编写事件代码: Option Explicit 规定所有变量都要显式声明 Dim sel1 As Integer, sel2 As String Dim r1 As Long Private Sub Form_Load() sel1 = 0 位数标记 sel2 =
9、 运算标记 Randomize End Sub Private Sub b11_click() sel1 = 1 设置位数标记 End Sub Private Sub b12_click() sel1 = 10 End Sub Private Sub b13_click() sel1 = 100 End Sub Private Sub b21_click() sel2 = + 设置运算标记 End Sub Private Sub b22_click() sel2 = - End Sub Private Sub b23_click() sel2 = * End Sub Private Sub c
10、ommand1_click() 命题按钮单击事件Dim a As Long, b As Long If sel1 = 0 Or sel2 = Then MsgBox 先选择运算数的位数和运算类型 Exit Sub End If 随机生成指定位数的操作数 a = sel1 + Int(9 * sel1 * Rnd) b = sel1 + Int(9 * sel1 * Rnd) 组成算式 Text1.Text = Str(a) + sel2 + Str(b) + = Select Case sel2 求运算结果r1 Case + r1 = a + b Case - r1 = a - b Case
11、* r1 = a * b End Select Text2.Text = Text2.SetFocus End Sub Private Sub command2_click() 答题按钮单击事件Dim r2 As Long If Text2.Text = Then MsgBox 请输入答案 Exit Sub End If r2 = Val(Text2.Text) 读取用户的答案 If r1 = r2 Then 判断答案 MsgBox 回答正确 Else MsgBox 回答错误 End If End Sub Private Sub b3_click() 结束按钮单击事件 End End Sub
12、(二)、见“三、实验题代码”描述 (三)、提交完成后的实验报告:将文件名“张三第7章用户界面设计实验2”改名后上交。改名方法为,将“张三”换成你的“学号姓名”。 三、实验题代码 1、设计如图所示的定时器程序,在Label3中显示当前时间,在Text1Text3中输入定时时间。单击定时按钮开始定时,当当前时间与定时时间一样时在Text4中显示“Good Bye!”(颜色为红色,字体大小为22)。 设计界面运行界面 提示:参见实例解析第2题“闹钟”;文本框的相关属性:ForeColor、FontBold、FontSize 事件过程描述: Private Sub Command1_Click() T
13、imer1.Enabled = True Timer1.Interval = 1000 End Sub Private Sub Form_Load() Text1.Text = : Text2.Text = : Text3.Text = End Sub Private Sub Timer1_Timer() Label3.Caption = Time t = Time s = Hour(t) f = Minute(t) m = Second(t) If Text1.Text = s And Text2.Text = f And Text3.Text = m Then Timer1.Enabled
14、 = False Text4.ForeColor = vbRed Text4.Text = Good bye! Text4.FontSize = 22 Text4.FontBold = True End If End Sub 2、菜单设计 设计菜单界面,如下图所示。下拉菜单中的子菜单项用于对文本框Text1设置字体、字号。 设计界面1 设计界面2 运行界面 提示:参见实例解析第4题;文本框的相关属性:FontName、FontSize 事件过程描述: Private Sub Form_Load() Text1.Text = 测试各菜单项的功能 End Sub Private Sub zh14_
15、Click() Text1.FontSize = 14 End Sub Private Sub zh16_Click() Text1.FontSize = 16 End Sub Private Sub 黑体_Click() Text1.FontName = 黑体 End Sub Private Sub 宋体_Click() Text1.FontName = 宋体 End Sub 四、选做题:有时间可选 1、秒表。设计界面及运行界面如下图。各命令按钮的功能如下: 开始按钮:通过Enabled属性启用时钟 计次按钮:将标签中的时间放入文本框 暂停按钮:通过Enabled属性禁用时钟 重置按钮:将标
16、签中的时间进行清零,文本框清空 Timer事件:对标签中显示的时间按照1秒进行递增 设计界面运行界面 提示: 1)设计应用程序界面: 在窗体上创建2个标签;1个文本框(MultiLine设为True;ScrollBars设为2);4个命令按钮;1个定时器(Enabled为False,Interval为1000)。 2)代码提示: Dim cz As Boolean Private Sub Command1_Click() Timer1.Enabled = True End Sub Private Sub Command2_Click() Text1.Text = Text1.Text & La
17、bel2.Caption & Chr(13) & Chr(10) VbCrLf End Sub Private Sub Command3_Click() Timer1.Enabled = False End Sub Private Sub Command4_Click() Text1.Text = Label2.Caption = cz = True Timer1.Enabled = False End Sub Private Sub Timer1_Timer() Static zms If cz = True Then zms = 0: cz = False zms = zms + 1 s = zms (60 * 60) f = (zms - s * 60 * 60) 60 m = zms - s * 60 * 60 - f * 60 s1 = Format(s, 00) f1 = Format(f, 00) m1 = Format(m, 00) Label2.Caption = s1 & : & f1 & : & m1 End Sub 事件过程描述:
限制150内