收藏 分享(赏)

第5章 选择结构程序设计.ppt

上传人:gnk289057 文档编号:8010040 上传时间:2019-06-04 格式:PPT 页数:48 大小:578.50KB
下载 相关 举报
第5章 选择结构程序设计.ppt_第1页
第1页 / 共48页
第5章 选择结构程序设计.ppt_第2页
第2页 / 共48页
第5章 选择结构程序设计.ppt_第3页
第3页 / 共48页
第5章 选择结构程序设计.ppt_第4页
第4页 / 共48页
第5章 选择结构程序设计.ppt_第5页
第5页 / 共48页
点击查看更多>>
资源描述

1、第5章 选择结构程序设计,5.1 单行结构条件语句If.Then.Else 5.2 块If结构 5.3 有关函数 5.4 多分支选择语句Select Case 5.5 选择性控件,顺序结构程序的执行次序是按语句的排列顺序从上向下顺序执行,然而,计算机在处理问题时,往往需要根据条件成立与否,决定程序的执行方向,也就是说根据所给定条件成立与否,决定从各种可能的分支中,选择执行其中一个分支的操作,并且任何情况下恒有“无论分支多寡,仅能选择其一”的特性。,5.1 单行结构条件语句If.Then.Else,单行条件语句比较简单,其语法格式为If条件Then 语句1 Else语句2例5.1 编写程序,从键

2、盘任意输入一个整数,计算该数的绝对值,然后输出。题目分析:该题需要进行单分支选择。当输入的数是负数时,需要计算它的相反数,否则不进行任何计算。最后输出绝对值。该题的流程图如图5-1所示。,图5-1 流程图,此题可以通过If Then语句来解决,根据流程图可以设计一个窗体From1的单击事件Click()来运行程序,代码如下: Private Sub Form_Click() Dim x As Single, y As Single x=InputBox(“请输入x的值”) y=x If x0 Then y=-y Print “x=”, x Print “y=”,y End Sub 该题的运行结

3、果如图5-2所示。,图5.2 执行结果,例5.2 输入x,计算y的值。其中:,计步骤如下:(1) 建立应用程序用户界面并设置对象属性。(2) 编写事件代码。命令按钮Command1的单击(Click)事件代码为 Private Sub Command1_Click()Dim x As Single, y As Single 定义x、y为单精度数x = Val(Text1.Text) 输入x的值If x = 0 Then y = Sqr(x) Else y = -x 判断并计算Text2.Text = y 输出结果Text2.Locked = True End Sub 程序运行结果如图5-3所示

4、。,图5-3 输出结果,例5.3 已知两个数x和y,比较它们的大小,输出较大数。设计步骤如下:(1) 建立应用程序用户界面并设置对象属性。(2) 编写事件代码。命令按钮Command1的单击(Click)事件代码为 Private Sub Command1_Click()Dim x As Single, y As Single 定义变量数据类型为单精度数x = Val(Text1.Text)y = Val(Text2.Text)If x y Then Label3.Caption = “较大数为“ & Str(x) End Sub 或者编写代码为 Private Sub Command1_Cl

5、ick()Dim x As Single, y As Single 定义变量数据类型为单精度数x = Val(Text1.Text)y = Val(Text2.Text)If x y Then t = x: x = y: y = t 如果x小,则交换x、y的值Label3.Caption = “较大数为“ & Str(x) 输出比较结果 End Sub 程序运行结果如图5-4所示。,图5-4 输出两数中的大数,5.2 块If结构,5.2.1 块If单分支结构块If单分支结构的流程图如图5-5所示,其语法结构如下:If ThenEnd If,程序执行过程如下:当条件成立时,执行If 与End I

6、f之间的语句组,执行完后,执行End If之后的语句;否则,跳过语句组直接执行End If之后的语句,这种情况,相当于If结构不存在。说明:(1) 条件可以是关系表达式、布尔表达式或数值表达式。如果以数值表达式作为条件,则非0为真,0为假。 (2) 语句组可为多条语句 。 (3) If 与End If必须配对使用。,x 0 x 0,例5.4 输入x的值,计算如下函数对应的y值。 分析:本题包含两个条件:(1)当条件为“x0”时;(2)当条件为“x0”时。可以用两个单分支结构完成。,Dim x As Single, y As Single 声明x,y为单精度变量x = Val(InputBox(

7、“请输入变量的值“) 输入x的值If x = 0 Then x=0时计算yy = x 2 + 1End IfIf x 0 Then x0时计算yy = x 2 - 1End IfPrint “x=“; x, “y=“; y 该代码段根据x取值的两种情况,分别计算出相应的y值,一个单分支If结构完成一种情况的计算,因此结构简单,容易理解,但程序不够简练。,5.2.2 块If双分支结构 块If双分支结构流程图如图5-6所示,语法结构如 下:If ThenElseEnd If 执行过程:当条件成立时执行语句组1,否则执行 语句组2。然后执行End If之后的语句 其它说明与块If单分支结构相同 .例

8、5.5 用块If双分支结构实现例5.4。 分析:例5.4中的两个条件互为相反条件,可以用块If双分支结构实现。 Dim x As Single, y As Single x = Val(InputBox(“请输入变量的值“) If x = 0 Theny = x2 + 1 Elsey = x2 - 1 End If Print “x=“; x, “y=“; y,通过例5.4和5.5,会注意到:无论是块If单分支结构还是块If双分支结构,均把程序执行过程分为满足条件的一支和不满足条件的另一支,但在应用中会遇到类似下面的问题或更复杂的情况,例如,分段函数:,x0 x0 x0,自变量x的取值分为三种

9、情况,对应函数y有不同的计算表达式。此类问题可以使用三个块IF单分支结构完成;也可以使用块IF双分支结构。若采用前者,读者可仿照例5.4完成;若采用后者,可先把x的取值分为“等于0”和“不等于0”两种情况,再把“不等于0”这种情况分成“大于0”和“小于0”两种情况,代码如下:,Dim x As Single, y As Singlex = Val(InputBox(“请输入变量的值“) If x 0 ThenIf x 0 Then 不等于0的情况之一y = x 2 + 1Else 不等于0的情况之二y = x 2 - 1End If,Elsey = 0End IfPrint “x=“; x,

10、“y=“; y可以看到,在x 0的分支中,又是一个块IF双分支结构,这种形式称为块If的嵌套。当问题越复杂时,用块If的嵌套层次会越深,程序易读性越差,采用块IF的多分支结构IfElse If会使程序简练。当然也可将上述三种条件这样分:先分成“大于0”和“不大于0”两种情况,再将后者分为“等于0”和“小于0”两种情况。 5.2.3 If语句的嵌套 If语句的嵌套是指If或Else后面的语句块中又包含If语句。语句形式如下:If条件1ThenIf条件2Then End If End If 例5.6 键盘输入3个不同的数,将它们从大到小排序。 (1) 建立应用程序用户界面并设置对象属性,结果如图5

11、-7所示。(2) 编写事件代码。命令按钮Command1的单击(Click)事件代码为,图5-7 从大到小排序,Private Sub Command1_Click()Dim x As Single, y As Single, z As Singlex = Val(Text1.Text) 输入数据y = Val(Text2.Text)z = Val(Text3.Text)If x z If x y,此时的x、y已不再是原x、y的值t = x : x = y : y = t End If End IfLabel4.Caption = “从大到小排序结果:“ & Str(x) & Str(y) &

12、 Str(z) End Sub,例5.7 铁路托运行李,从甲地到乙地,规定每张客票托运费计算方法是行李重量不超过50kg时,按每公斤0.25元收费,超过50kg而不超过100kg时,其超过部分按每公斤0.35元收费,超过100kg时,其超过部分按每公斤0.45元收费。编写程序,输入行李重量,计算并输出托运的费用。题目分析: 设行李的重量为 w kg ,应付运费为y 元,则运费计算公式为:,y =,此题的流程图如图5-8所示。,图5-8 流程图,根据流程图可以设计一个命令按钮Command1的单击事件Click()来运行程序,代码如下: Private Sub Command1_Click()D

13、im w As Single, y As Singlew = Val(Text1.Text)If w = 50 Theny = 0.25 * wElseIf w = 100 Theny = 0.25 * 50 + 0.35 * (w - 50)Elsey = (0.25 + 0.35) * 50 + 0.45 * (w - 100)End IfEnd IfText2.Text = y End Sub 该题的运行结果如图5-9所示。,图5-9 运算结果,5.2.4 块If多分支结构块If多分支结构流程如图510所示,语法格式如下:If ThenElseIf ThenElseIf ThenElse

14、 End If,执行过程:按书写顺序从上到下依次判断条件,当遇到第一个满足的条件后即执行相应的语句组,然后便执行End If之后的语句。属于“多中选一”的情况。 注意:(1) ElseIf不能写成Else If ,即Else与If之间不能有空格;(2) 当多分支中有多个表达式同时满足时,仅执行第一个满足条件的语句组。,例5.8 用块If的多分支结构计算分段函数y的值。 Dim x As Single, y As Single x = Val(InputBox(“请输入变量的值“)If x 0 Theny = x 2 + 1ElseIf x 0 Theny = x 2 - 1Elsey = 0E

15、nd IfPrint “x=“; x, “y=“; y 当程序中分支越多,用块If的多分支结构的作用越明显,程序的结构越清晰。,x0 x0 x0,例5.9 某百货公司为了促销,采用购物打折的优惠办法,每位顾客一次购物享受优惠如下: (1) 在1000元以上2000元以下者,按九五折优惠; (2) 在2000元以上3000元以下者,按九折优惠; (3) 在3000元以上5000元以下者,按八五折优惠; (4) 在5000元以上者,按八折优惠。 设计步骤如下: (1) 建立应用程序用户界面并设置对象属性,如图5-11所示。 (2) 编写事件代码。命令按钮Command1的单击(Click)事件代码

16、为,图5-11 计算优惠价,(3) 编写事件代码改Private Sub Command1_Click()Dim x As Single, y As Singlex = Val(Text1.Text)If x 1000 Theny = x 不打折ElseIf x 2000 Theny = 0.95 * x ,九五折 ElseIf x 3000 Then y = 0.9 * x 九折ElseIf x 5000 Then y = 0.85 * x 八五折Else y = 0.8 * x 八折End IfText2.Text = yText2.Locked = True End Sub,5.3 有关

17、函数,这里介绍有关条件判断的两个函数:IIf和Choose。 5.3.1 IIf函数 格式:IIf(条件,表达式1,表达式2) 说明:当条件成立时,该函数返回表达式1的值,否则返回表达式2的值。 使用IIf函数来改写例5.4,代码如下:Dim x As Single, y As Single x = Val(InputBox(“请输入变量的值“) y = IIf(x = 0, x 2 + 1, x 2 - 1)Print “自变量为”& x & “时”,”函数y的值为” & y 与例5.4对比可以看出,使用IIf函数代替了块If双分支结构,使程序更加紧凑。5.3.2 Choose函数 格式:C

18、hoose(整数表达式,选项列表) 说明:根据整数表达式的值,决定函数返回选项列表中的某个值。如果整数表达式的值为1,则返回选项列表中的第一个选项值,如果是2,则返回第二个选项值,依此类推。若整数表达式的值小于1或大于列出的选项数时,函数返回空值(Null)。 例有如下语句:,Label1.Caption=“星期“ & Choose(Weekday(d),“日“,“一“,“二“,“三“,“四“,“五“,“六“) 其中Weekday(d)函数返回数字17,分别对应每周的7天。如果用多分支结构完成,程序会显示的非常冗长。 下面是改用IfElseIf结构实现上面功能的代码: Dim d As Dat

19、e, x As Integer,y As String d = Date x = Weekday(d) If x = 1 Theny = “日“ ElseIf x = 2 Theny = “一“ ElseIf x = 3 Theny = “二“ ElseIf x = 4 Theny = “三“ ElseIf x = 5 Theny = “四“ ElseIf x = 6 Theny = “五“ ElseIf x = 7 Theny = “六“ End If Label1.Caption = “星期“ & y 通过比较可以看出,选择合适的函数可以优化程序结构,减少代码行。,5.4 多分支选择语句S

20、elect Case,虽然使用嵌套的办法可以利用If语句实现多分支选择,但是很多时候还是使用VB提供的多分支选择结构(Select Case语句)来实现。根据单一表达式来执行多种可能的动作时,Select Case显得更为简捷。多分支选择结构的特点是:从多个选择结构中,选择第一个条件为真的路线作为执行的路线。Select Case语句的语法格式为: Select Case测试条件Case表达式表1语句块1Case表达式表2语句块2Case Else其他语句块 End Select 例5.10 在例5.9中使用Select Case语句来计算优惠价,只需将其中命令按钮Command1的单击(Cl

21、ick)事件代码改为,Private Sub Command1_Click()Dim x As Single, y As Singlex = Val(Text1.Text)Select Case xCase Is 1000y = xCase Is 2000y = 0.95 * x Case Is 3000y = 0.9 * x Case Is 5000y = 0.85 * x Case Elsey = 0.8 * xEnd SelectText2.Text = yText2.Locked = True End Sub,说明: (1) Select Case语句中含有多个参数,“测试条件”为必要

22、参数,可以是任何数值表达式或字符串表达式。 (2) 在Case 子句中,“表达式表”为必要参数,用来测试其中是否有值与“测试条件”相匹配,“表达式表”中的表达式必须与“测试条件”的数据类型相同。Case子句中的“表达式表”有如下三种基本形式: 表达式,表达式 例如: Case 8 Case 2,4,6,8 当使用多个表达式的列表时,表达式与表达式之间要用逗号“,”隔开。 表达式 To 表达式 例如:Case 10 To 20 Case aTon 当用来指定一个值的范围时,较小的值要出现在 To 之前。 Is 关系表达式 例如:Case Is=12 Case Is15 是不合法的。在一个Sele

23、ct Case 语句中,以上三种形式可以混用。例如: Case Is17,5,12Case Is“HAN”,“Mao”To “Tao”,(3)“语句块”为可选参数,是一条或多条语句,当“表达式表”中有值与“测试条件”相匹配时执行“语句块”。 (4)如果同一个域值的范围在多个Case 子句中出现,则只执行符合要求的第一个Case子句的语句块。 (5)在Select Case语句中的每一个“表达式表”必须互不相同。 (6)在不同的Case 子句中指定的条件和相应的操作不能相互矛盾。例如:Select Case aCase 2Print 2Case 2 To 6Print 3End Select 当

24、a的值为2时,既符合第一个Case 子句中规定的条件,又符合第二个Case 中规定的条件,在第一个Case子句中要求输出“2”,在第二个Case子句中要求输出“3”,显然两者是矛盾的。在这种情况下,系统不检查两个Case 子句是否有矛盾,而且一般也不会出错,但程序中不应该出现这种逻辑上的矛盾。 (7)在Select Case 语句中,Case子句的顺序对执行结果没有影响,但是应注意,Case Else 子句必须放在所有的Case 子句之后。如果任何一个Case子句都没有与测试条件相匹配的值,而且也没有Case Else 子句,则不执行任何操作,则程序会从End Select之后的语句继续执行。

25、Case Else 子句用于指明执行“语句块n+1”,当测试条件和所有的Case 子句中的“表达式列表”的值都不匹配时,则会执行“语句块n+1”。Case Else 子句虽然不是必要的,但是在Select Case 语句中最好还是加上Case Else 子句来处理不可预见的测试条件值。,例5.11 某航空公司规定在旅游的旺季(79)月份,如果订票数超过20张,票价优惠15%,20张以下,优惠5%;在旅游的淡季(15)月份、10月份、11月份,如果订票数超过20张,票价优惠30%,20张以下,优惠20%;其它情况一律优惠10%。请设计程序,根据月份和订票张数决定票价的优惠率。 题目分析:设月份为

26、m ,张数为n 。此题的流程图如图5-12所示,图5-12 流程图,根据流程图可以设计一个命令按钮Command1的单击事件Click()来运行程序,代码如下: Private Sub Command1_Click() Dim m As Integer, n As Integer, r As Integer m = Val(Text1.Text) n = Val(Text2.Text) Select Case mCase Is = 5, 10, 11If n 20 Then r = 20 Else r = 30Case 7 To 9If n 20 Then r = 5 Else r = 15C

27、ase Elser = 10 End Select Label4.Caption = “所订机票的优惠率为: “ & Str(r) & “%“ End Sub该题的运行结果如图5-13所示。,图5-13运行结果,例5.12 编写一个对输入字符进行转换的程序。转换规则为:将其中的大写字母转换成小写字母,小写字母转换成大写字母,空格不转换,其余转换成“*”。要求每输入一个字符,马上就进行判断和转换。(1) 建立应用程序用户界面,如图5-14所示。(2) 设置对象属性,如图5-15所示。,图5-14 设置用户界面 图5-15 设置对象属性,(3) 编写事件代码。根据题中要求,当在“输入字符串”文本框

28、中每输入一个字符键时,马上就进行判断,这就要求对“输入字符串”文本框对象Text1对应的KeyPress事件进行编程。 Private Sub Text1_KeyPress(KeyAscii As Integer)Dim aa As String * 1aa = Chr$(KeyAscii) 将ASCII码转换成字符Select Case aa Case “A“ To “Z“ aa = LCase(aa) 大写转换成小写 Case “a“ To “z“ aa = UCase(aa) 小写转换成大写 Case “ “ aa = “ “ Case Elseaa = “*“End SelectTex

29、t2.Text = Text2.Text & aa 将转换文本框已有的内容与刚输入并转换的字符连接 End Sub,命令按钮Command1的Click事件代码为 Private Sub Command1_Click()Text1.Text = “ 清除文本框Text1的内容 Text2.Text = “ 清除文本框Text2的内容 End Sub 命令按钮Command2的Click事件代码为 Private Sub Command2_Click()Unload Me End Sub 程序运行结果如图5-16所示。,图5-16 大小写字母转换,5.5 选择性控件,大多数应用程序都需要向用户提

30、供选择,如简单的“YesNo”选项,或者从包含许多个选项的列表中进行选择。VB提供的选择性标准控件有单选按钮(OptionButton)、复选框(CheckBox)、列表框(ListBox)和组合框(ComboBox)。本节重点介绍单选按钮和复选框。5.5.1 单选钮单选按钮(OptionButton)控件常用于“多选一”的情况。通常是以多个按钮组成一个按钮组的形式出现。单击某单选按钮后就选择了该项,同时该组的其它单选按钮将自动失效。 例5.13 编写程序,利用单选按钮为输入到文本框的内容选择字体。 操作步骤如下: (1) 创建一个新的窗体 (2) 在窗体上放置三个单选按钮控件、一个文本框控件

31、,二个标签控件。 (4) 将单选按钮的Caption属性分别设置为“宋体”、“黑体”和“隶书”。 (5) 将文本框的Text属性设置为空。 (6) 将标签控件的Caption属性设置为“请输入文本”和“请选择字体”。界面设计如图5-17所示。,图5-17 界面控件布局,(7) 为三个复选框编写代码如下:Private Sub Option1_Click()If Text1.Text = “ “ ThenMsgBox “文本框内容不能为空“, 38, “注意“Exit SubEnd IfText1.FontName = “宋体“ End Sub Private Sub Option2_Click

32、()If Text1.Text = “ “ ThenMsgBox “文本框内容不能为空“, 38, “注意“Exit SubEnd If,Text1.FontName = “黑体“ End Sub Private Sub Option3_Click()If Text1.Text = “ “ ThenMsgBox “文本框内容不能为空“, 38, “注意“Exit SubEnd IfText1.FontName = “隶书“ End Sub 启动程序运行后,单击复选框后的运行结果如图5-18所示。,图5-18 运行结果,单选钮(OptionButton)的左边有一个“”。一般来说,单按钮总是成组

33、(单选按钮组)出现,用户在一组单选钮中必须选择一项,并且最多只能选择一项。当某一项被选定后,其左边的圆圈中出现一个黑点。单选钮主要用于在多种功能中由用户选择一种功能的情况。其主要属性如表5-1所示。,表5-1 单选钮的主要属性,1. 单选钮的选择方法选择一个单选钮可以用以下方法:(1) 在运行期间用鼠标单击单选钮。(2) 用Tab键定位到单选按钮组,然后在组内使用方向键(箭头键)定位单选钮。(3) 用代码将它的Value属性设置为真:Option1.Value = True。(4) 使用在OptionButton标题中指定的快捷键。 单选钮的一个特点是当选定其中一个,其余就自动关闭。 2. 使

34、用单选钮单选按钮组的特点是不管选项有多少,只能选中其中一个。当需要在同一个窗体中建立几组相互独立的单选按钮组时,就需要用框架(Frame)将每一组按钮框起来,这样在一个框架内的单选按钮为一组,它们的操作不影响框外其他的单选按钮。 例5.14 单选按钮用法示例。 设计步骤如下:(1) 建立应用程序用户界面和设置对象属性。在窗体中建立了两组单选钮,分别放在名称为“字体”和“字号”的框架中,如图5-19所示。,图5-19 建立用户界面和设置属性,(2) 编写事件代码。下面是该窗体中涉及的两个事件过程: Private Sub Command1_Click()If Option1.Value Then

35、 Text1.FontName = “宋体“Else Text1.FontName = “黑体“End IfIf Option3.Value Then Text1.FontSize = 10Else Text1.FontSize = 14End If End Sub Private Sub Command2_Click()Unload Me End Sub 程序运行结果如图5-20所示。,图5-20 单选钮程序运行结果,3. 使用图形单选钮当单选按钮的Sytle属性设置为1-Graphical时,可以将选项按钮以图形方式显示。 例5.15 设计流动字幕板。使滚动字幕内容“海阔凭鱼跃,天高任鸟飞

36、”在窗体中从右向左反复地移动。设计步骤如下: (1) 建立应用程序用户界面。选择“新建”工程,进入窗体设计器,增加一个计时器控件Timer1、一个标签控件Label1和一个命令按钮Command1,4个单选钮Option1Option4。其中,计时器控件Timer1可以放在窗体的任何位置,参见图5-21所示。,图5-21 建立用户界面,(2) 设置对象属性。修改Timer1的属性:Interval改为100,Enabled改为False。修改Option1Option4的Style属性为:1Graphical(图形方式)。运行效果如图5-22所示。,图5-22 运行效果,(3) 编写事件代码。

37、命令按钮Command1的Click事件代码为 Private Sub Command1_Click()If Command1.Caption = “&S 暂停“ Then Command1.Caption = “&C 继续“ Timer1.Enabled = FalseElse Command1.Caption = “&S 暂停“ Timer1.Enabled = TrueEnd If End Sub,通过在不断激发的Timer事件中改变标签的Left属性,可改变标签的位置。编写Timer1的Timer事件代码: Private Sub Timer1_Timer()If Label1.Lef

38、t + Label1.Width 0 Then Label1.Move Label1.Left 20 当标签右边位置0时,标签向左移Else Label1.Left = Form1.ScaleWidth 标签从头开始End If End Sub 依次编写单选钮Option1Option4的Click事件代码: Private Sub Option1_Click()Label1.FontName = “宋体“ End Sub Private Sub Option2_Click()Label1.FontName = “隶书“ End Sub Private Sub Option3_Click()

39、Label1.FontName = “黑体“ End Sub Private Sub Option4_Click()Label1.FontName = “楷体_GB2312“ End Sub,5.5.2 复选框 在应用程序中,有时需要用户做出选择,有的选择很简单,有的选择很复杂。为此,VB提供了几个用于选择的控件。复选框用于设置独立的选项,多个复选框彼此独立,即使把它们放在一个组框中,也不影响复选框的行为,它们依然彼此独立。复选框在工具箱中的图标为 。 1. 复选框(CheckBox)的属性 Value属性: 用来指明复选框的状态,共有三种:选中、未选中、当前不可用。当复选框被选中时,Valu

40、e的值为1 (相应的符号常量是vbCheeked);当复选框被去掉选中时,Value的值为0(相应的符号常量是vbUnchecked);当复选框不可用时,Value的值为2 (相应的符号常量是vbGrayed)。应注意的是,用户直接操作(比如单击)复选框时,复选框的状态只能在选中(Value的值为1)和未选中(Value的值为0)之间转换。复选框的三种状态如图5-23所示。,图5-23 复选框的三种状态,(2) Alignment属性: 该属性用来设置复选框控件标题的对齐方式,它可以在设计阶段设置,也可以在运行期间设置,格式如下:对象. Alignment=值 Alignment的值可以是0或

41、1,也可以是符号常量。为0(相应的符号常量是vbLeftJustify)时表示控件居中,标题在控件右侧显示;为1(相应的符号常量是vbRightJustify)时,表示控件居中,标题在控件左侧显示。 (3) Style: 该属性用来指定复选框控件的显示方式,以改善视觉效果。Style是只读属性,只能在设计时使用。Style的取值可以是0和1。当为0(相应的符号常量是vbButtonStandard),表示同时显示控件和标题;为1(相应的符号常量是vbButtonGraphical)时,表示是图形方式,控件用图形的样式显示,即复选框控件的外观与命令按钮相似。 2. 复选框的Click事件 用户单

42、击复选框后,就会触发复选框的Click事件,也可以用键盘操作复选框,这时用Tab和Shift+Tab向前或向后移动输入焦点,当焦点落到复选框时,按空格键进行选中或去掉选中,同样会触发复选框的Click事件。通过响应Click事件,我们能够根据复选框的状态完成某些操作。 例5.16 编写程序,按照复选框的状态修改复选框的标题分别为“已选中”和“未选中”。 操作步骤如下: (1) 创建一个新的窗体,在窗体上放置一个复选框和一个标签控件。 (2) 将标签控件的Caption属性设置为空,Font属性设置为这“四号字”。 (3) 将复选框控件的Caption属性设置为空,Value属性设置为0。,(4

43、) 为复选框控件编写如下代码:Private Sub Check1_Click()If Check1.Value = 1 ThenLabel1.Caption = “已选中“ElseLabel1.Caption = “未选中“End If End Sub启动程序运行后,反复单击复选框显示情况如图5-24所示。,图5-24 运行效果,例5.17 编写程序,利用复选框对输入到文本框的内容进行格式修改。 操作步骤如下: (1) 创建一个新的窗体 (2) 在窗体上放置三个复选框控件、一个文本框控件,一个标签控件。,(4) 将三复选框的Caption属性分别设置为“下划线”、“粗体”和“斜体”。 (5)

44、 将文本框的Text属性设置为空。 (6) 将标签控件的Caption属性设置为“请输入文本”。界面设计如图5-25所示。,图5-25 界面控件布局,(7) 为三个复选框编写代码如下:Private Sub Check1_Click()If Text1.Text = “ “ ThenMsgBox “文本框内容不能为空“, 38, “注意“Exit SubEnd IfText1.FontUnderline = Check1.Value End Sub Private Sub Check2_Click() If Text1.Text = “ “ ThenMsgBox “文本框内容不能为空“, 38

45、, “注意“Exit SubEnd IfText1.FontBold = Check2.Value End Sub Private Sub Check3_Click() If Text1.Text = “ “ ThenMsgBox “文本框内容不能为空“, 38, “注意“Exit SubEnd If启动程序运行后,单击复选框的运行结果如图 5-26所示。,图5-26 运行结果,实训五 选择结构程序设计,一 实训目的 理解掌握单分支If条件语句的格式和应用。 理解掌握双分支If条件语句的格式和用法。 理解掌握嵌套If条件语句的正确使用。 4. 理解掌握多分支If条件语句的格式和正确使用。 二

46、实训要求 编写程序,输入三个数,将它们从大到小排序,输出排序结果。 请输入三个数,求出其中最大数。 输入一个字符,若它是大写字母,则把它变成小写字母;若它是小写字母,则把它变成大写字母;若它是其它字符,则其值不变。 编写一程序,输入三角形的三条边a,b,c的值,根据其数值,(1)判断能否构成三角形。(2)若能,请判断该三角形属于哪一类三角形。,练 习,一 选择题 1下面求两个数中较大数的程序段中, 不正确。 (A)Max = IIf(x y, x, y) (B)If xy Then Max =x Else Max=y (C)Max = x (D)If y = x Then Max = yIf

47、yx Then Max=y Max=x 2下面语句执行后,变量W的值是 。 W=Choose(Int(2.6),“Red“,“Green“,“Blue“,“Yellow“) Null (B) “Red“ (C) “Green“ (D) “Yellow“ 3用If结构实现分段函数f(x)= ,下列不正确的程序段是 。,(A) f=x*x+3 If x=1 then f=sqr(x+1) (B) If x=1 then f=sqr(x+1) If x=1 then f=sqr(x+1) f=x*x+3 (D) If x1 then f=x*x+3 else f=sqr(x+1) 4设x的值为5,则

48、在执行以下语句时,其输出结果为“Result”的Select Case语句是 。,(A) Select Case x (B) Select Case xCase 10 To 1 Case Is 5, 1, 3 To 10Print “Result“ Print “Result“End Select End Select (C) Select Case x (D) Select Case xCase Is 5, Is 5Print “Result“ Print “Result“End Select End Select 5设置单选按钮的 属性改变显示风格为图形方式。(A) Caption (B)

49、 Value (C) Aligment (D) Style 6.复选框的Value属性为1时,表示 。(A) 复选框未被选中 (B) 复选框被选中 (C) 复选框内有灰色的对勾 (D) 复选框操作有错误 7设置单选按钮和复选框按钮标题对齐方式的属性是 。 (A) Align (B) Alignment (C) Sort (D) Value 8设a=4,b=3,c=2,d=1,则表达式IIf(ad,c,d)的结果为_。(A) 4 (B) 3 (C) 2 (D) 1 9MsgBox函数的返回值的类型是_。(A) 整型 (B) 字符型 (C) 布尔型 (D) 日期型 10用Select Case语句选择|x|10情况的语句为:Case_。(A) Not (-10 To 10) (B) -10 To 10(C) Is 10 (D) Abs(x)10,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报