《Visual-Basic程序设计综合教程第4章-控制结构.ppt》由会员分享,可在线阅读,更多相关《Visual-Basic程序设计综合教程第4章-控制结构.ppt(78页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第4章章 控制结构控制结构 VBVB语言的开发过程主要由两部分组成:设语言的开发过程主要由两部分组成:设语言的开发过程主要由两部分组成:设语言的开发过程主要由两部分组成:设计用户界面和编写事件驱动代码。我们可以利用计用户界面和编写事件驱动代码。我们可以利用计用户界面和编写事件驱动代码。我们可以利用计用户界面和编写事件驱动代码。我们可以利用VBVB语言提供的各种控件对象和各种工具来创建可语言提供的各种控件对象和各种工具来创建可语言提供的各种控件对象和各种工具来创建可语言提供的各种控件对象和各种工具来创建可视化的用户界面;然后编写相应的事件代码。对视化的用户界面;然后编写相应的事件代码。对视化的
2、用户界面;然后编写相应的事件代码。对视化的用户界面;然后编写相应的事件代码。对于每一个程序代码段而言,必须遵守结构化程序于每一个程序代码段而言,必须遵守结构化程序于每一个程序代码段而言,必须遵守结构化程序于每一个程序代码段而言,必须遵守结构化程序的设计思想。结构化程序代码无论大小,都是由的设计思想。结构化程序代码无论大小,都是由的设计思想。结构化程序代码无论大小,都是由的设计思想。结构化程序代码无论大小,都是由三种基本结构(顺序结构、选择结构、循环结构)三种基本结构(顺序结构、选择结构、循环结构)三种基本结构(顺序结构、选择结构、循环结构)三种基本结构(顺序结构、选择结构、循环结构)构成,我们
3、通常称其为控制结构,熟练掌握控制构成,我们通常称其为控制结构,熟练掌握控制构成,我们通常称其为控制结构,熟练掌握控制构成,我们通常称其为控制结构,熟练掌握控制结构的概念及使用是程序设计的最基本的要求。结构的概念及使用是程序设计的最基本的要求。结构的概念及使用是程序设计的最基本的要求。结构的概念及使用是程序设计的最基本的要求。顺序结构最为简单,只要语句按顺序一行接顺序结构最为简单,只要语句按顺序一行接顺序结构最为简单,只要语句按顺序一行接顺序结构最为简单,只要语句按顺序一行接着一行执行就是顺序结构。本章着重介绍选择结着一行执行就是顺序结构。本章着重介绍选择结着一行执行就是顺序结构。本章着重介绍选
4、择结着一行执行就是顺序结构。本章着重介绍选择结构和循环结构以及用于界面设计的部分常用控件构和循环结构以及用于界面设计的部分常用控件构和循环结构以及用于界面设计的部分常用控件构和循环结构以及用于界面设计的部分常用控件。【主要内容主要内容】常用控件常用控件单选按钮、复选框和框架单选按钮、复选框和框架选择结构选择结构IF和和SELECT-CASE语句语句循环结构循环结构FOR-NEXT、WHILE-WEND和和DO-LOOP语句语句4.1 引例引例【例例4.1】查询教师一周课程安排情况。界面查询教师一周课程安排情况。界面设计如图设计如图4.1(a)所示。要求选择某一工作)所示。要求选择某一工作日,然
5、后单击日,然后单击“查询查询”命令按钮,在相应命令按钮,在相应位置显示该工作日的课程安排情况。位置显示该工作日的课程安排情况。图图4.1(a)【例例4.1】用户界面用户界面 工作日工作日工作日工作日1 1、2 2节节节节3 3、4 4节节节节5 5、6 6节节节节周一周一周一周一网网网网络络络络基基基基础础础础VBVB周二周二周二周二计计计计算机基算机基算机基算机基础础础础周三周三周三周三VBVB周四周四周四周四计计计计算机基算机基算机基算机基础础础础周五周五周五周五网网网网络络络络基基基基础础础础假设某教师的课表如下表所示:假设某教师的课表如下表所示:详细设计步骤见示例详细设计步骤见示例说明
6、:说明:【例例4.1】的用户界面设计,用到了单选按钮(的用户界面设计,用到了单选按钮(optionbutton)、命令按钮、)、命令按钮、标签和框架标签和框架(Frame)几种控件,命令按钮和标签在前面的章节中已经介绍过,单几种控件,命令按钮和标签在前面的章节中已经介绍过,单选按钮(选按钮(optionbutton)、框架)、框架(Frame)和其余几种常用控件在本章中将会作详和其余几种常用控件在本章中将会作详细介绍。细介绍。命令按钮命令按钮“查询查询”的的Click事件过程代码的中心语句使用单分支选择语句事件过程代码的中心语句使用单分支选择语句If语句或多分支选择语句语句或多分支选择语句Se
7、lect-Case语句实现。语句实现。【例例例例4.24.2】设计一个需要密码才能进入的设计一个需要密码才能进入的设计一个需要密码才能进入的设计一个需要密码才能进入的“系统进入系统进入系统进入系统进入界面界面界面界面”。要求:若输入的密码正确,则进入该系。要求:若输入的密码正确,则进入该系。要求:若输入的密码正确,则进入该系。要求:若输入的密码正确,则进入该系统。为简便起见,只给出进入系统的提示信息;统。为简便起见,只给出进入系统的提示信息;统。为简便起见,只给出进入系统的提示信息;统。为简便起见,只给出进入系统的提示信息;若输入的密码不正确,要求重新输入,并提供相若输入的密码不正确,要求重新
8、输入,并提供相若输入的密码不正确,要求重新输入,并提供相若输入的密码不正确,要求重新输入,并提供相关提示信息和输入界面;同时,若三次输入密码关提示信息和输入界面;同时,若三次输入密码关提示信息和输入界面;同时,若三次输入密码关提示信息和输入界面;同时,若三次输入密码都不正确,则自动退出。都不正确,则自动退出。都不正确,则自动退出。都不正确,则自动退出。详细设计步骤见示例详细设计步骤见示例说明:说明:说明:说明:对象对象对象对象FormForm的的的的LoadLoad事件过程代码的中心语句采用循环事件过程代码的中心语句采用循环事件过程代码的中心语句采用循环事件过程代码的中心语句采用循环结构语句结
9、构语句结构语句结构语句while-Wendwhile-Wend语句和选择结构语句语句和选择结构语句语句和选择结构语句语句和选择结构语句If-Then-ElseIf-Then-Else语句实现。语句实现。语句实现。语句实现。综合上述内容可以看出,综合上述内容可以看出,综合上述内容可以看出,综合上述内容可以看出,【例例例例4.14.1】和和和和【例例例例4.24.2】涉及涉及涉及涉及到的主要知识点有:到的主要知识点有:到的主要知识点有:到的主要知识点有:设计用户界面用到的控件对象:单选按钮设计用户界面用到的控件对象:单选按钮设计用户界面用到的控件对象:单选按钮设计用户界面用到的控件对象:单选按钮(
10、optionbuttonoptionbutton)和框架)和框架)和框架)和框架(Frame)(Frame)。构成程序代码的中心语句有选择结构语句和循环结构成程序代码的中心语句有选择结构语句和循环结构成程序代码的中心语句有选择结构语句和循环结构成程序代码的中心语句有选择结构语句和循环结构语句。构语句。构语句。构语句。在本章的各个小节中,我们将对上述内容和相关知识在本章的各个小节中,我们将对上述内容和相关知识在本章的各个小节中,我们将对上述内容和相关知识在本章的各个小节中,我们将对上述内容和相关知识作详细介绍。作详细介绍。作详细介绍。作详细介绍。4.2 单选按钮、复选框和框架单选按钮、复选框和框
11、架单选按钮、复选框和框架都是设计用户界面的常用控件。在工具箱中的位置和图标如下图所示。在本小节中,将依次介绍上述控件的用途、属性、方法和事件。框架单选按钮复选框4.2.1 单选按钮单选按钮1 1 用途用途用途用途 单选按钮(单选按钮(单选按钮(单选按钮(OptionButtonOptionButton)也称作选择按钮。)也称作选择按钮。)也称作选择按钮。)也称作选择按钮。一组单选按钮控件可以提供一组彼此相互排斥的一组单选按钮控件可以提供一组彼此相互排斥的一组单选按钮控件可以提供一组彼此相互排斥的一组单选按钮控件可以提供一组彼此相互排斥的选项,任何时刻用户只能从中选择一个选项,实选项,任何时刻用
12、户只能从中选择一个选项,实选项,任何时刻用户只能从中选择一个选项,实选项,任何时刻用户只能从中选择一个选项,实现一种现一种现一种现一种“单项选择单项选择单项选择单项选择”的功能,被选中项目左侧圆的功能,被选中项目左侧圆的功能,被选中项目左侧圆的功能,被选中项目左侧圆圈中会出现一黑点。圈中会出现一黑点。圈中会出现一黑点。圈中会出现一黑点。【例例例例4.14.1】用户界面中使用了用户界面中使用了用户界面中使用了用户界面中使用了“单选按钮单选按钮单选按钮单选按钮”实现实现实现实现用户对工作日的选择。用户对工作日的选择。用户对工作日的选择。用户对工作日的选择。2.重要属性重要属性(1 1)Captio
13、nCaption:文本标题。设置单选按钮的文本注:文本标题。设置单选按钮的文本注:文本标题。设置单选按钮的文本注:文本标题。设置单选按钮的文本注释内容。释内容。释内容。释内容。如下图所示用户界面,单选按钮(如下图所示用户界面,单选按钮(如下图所示用户界面,单选按钮(如下图所示用户界面,单选按钮(option1option1)的的的的CaptionCaption属性值为属性值为属性值为属性值为“周一周一周一周一”。(2)Alignment属性:属性:0Left Justify(0Left Justify(缺省缺省缺省缺省)控件按钮在左边,标题显控件按钮在左边,标题显控件按钮在左边,标题显控件按钮
14、在左边,标题显示在右边。示在右边。示在右边。示在右边。1Right Justify 1Right Justify 控件按钮在右边,标题显示在控件按钮在右边,标题显示在控件按钮在右边,标题显示在控件按钮在右边,标题显示在左边。左边。左边。左边。如左图和右图所示用户界面,单选按钮如左图和右图所示用户界面,单选按钮如左图和右图所示用户界面,单选按钮如左图和右图所示用户界面,单选按钮(option1option1)的)的)的)的AlignmentAlignment属性值分别为属性值分别为属性值分别为属性值分别为“0”0”和和和和“1”1”。(3)Value 属性属性True:True:单选按钮被选定单
15、选按钮被选定单选按钮被选定单选按钮被选定False:False:单选按钮未被选定(缺省设置)单选按钮未被选定(缺省设置)单选按钮未被选定(缺省设置)单选按钮未被选定(缺省设置)如左图和右图所示用户界面,单选按钮如左图和右图所示用户界面,单选按钮如左图和右图所示用户界面,单选按钮如左图和右图所示用户界面,单选按钮(option1option1)的)的)的)的ValueValue属性值分别为属性值分别为属性值分别为属性值分别为“False”False”和和和和“True”True”。(4)Style 属性属性0-Standard0-Standard:标准方式:标准方式:标准方式:标准方式 1-Gr
16、aphical1-Graphical:图形方式:图形方式:图形方式:图形方式说说说说 明:明:明:明:在在在在StyleStyle属性设置为属性设置为属性设置为属性设置为1 1时,可使用时,可使用时,可使用时,可使用 Picture Picture 属属属属性、性、性、性、DownPictureDownPicture属性、属性、属性、属性、DisabledPictureDisabledPicture属属属属 性性性性在如下左图和右图所示的用户界面,单选按钮在如下左图和右图所示的用户界面,单选按钮在如下左图和右图所示的用户界面,单选按钮在如下左图和右图所示的用户界面,单选按钮(option1op
17、tion1)的)的)的)的StyleStyle属性值分别为属性值分别为属性值分别为属性值分别为“0”0”和和和和“1”1”。3 方法方法 SetFocusSetFocus方法是单选钮控件最常用的方法,方法是单选钮控件最常用的方法,方法是单选钮控件最常用的方法,方法是单选钮控件最常用的方法,可以在代码中通过该方法将可以在代码中通过该方法将可以在代码中通过该方法将可以在代码中通过该方法将ValueValue属性设置为属性设置为属性设置为属性设置为“True”True”。与命令按钮相同,使用该方法之前,必须要与命令按钮相同,使用该方法之前,必须要与命令按钮相同,使用该方法之前,必须要与命令按钮相同,
18、使用该方法之前,必须要保证单选钮处于可见和可用状态(即保证单选钮处于可见和可用状态(即保证单选钮处于可见和可用状态(即保证单选钮处于可见和可用状态(即VisibleVisible与与与与EnabledEnabled属性值均为属性值均为属性值均为属性值均为TrueTrue)。)。)。)。4 事件事件ClickClick事件是单选钮控件最基本的事件,一事件是单选钮控件最基本的事件,一事件是单选钮控件最基本的事件,一事件是单选钮控件最基本的事件,一般情况用户无需为单选钮编写般情况用户无需为单选钮编写般情况用户无需为单选钮编写般情况用户无需为单选钮编写ClickClick事件过程,当事件过程,当事件过
19、程,当事件过程,当用户单击单选钮时,它会自动改变状态。用户单击单选钮时,它会自动改变状态。用户单击单选钮时,它会自动改变状态。用户单击单选钮时,它会自动改变状态。4.2.2 复选框(检查框)复选框(检查框)1 1 用途用途用途用途复选框(复选框(复选框(复选框(CheckBoxCheckBox)也称作检查框、选择框。)也称作检查框、选择框。)也称作检查框、选择框。)也称作检查框、选择框。一组检查框控件可以提供多个选项,它们彼此独一组检查框控件可以提供多个选项,它们彼此独一组检查框控件可以提供多个选项,它们彼此独一组检查框控件可以提供多个选项,它们彼此独立工作,用户可以同时选择任意多个选项,实现
20、立工作,用户可以同时选择任意多个选项,实现立工作,用户可以同时选择任意多个选项,实现立工作,用户可以同时选择任意多个选项,实现一种一种一种一种“多项选择多项选择多项选择多项选择”的功能。选择某一选项后,该的功能。选择某一选项后,该的功能。选择某一选项后,该的功能。选择某一选项后,该控件将显示控件将显示控件将显示控件将显示“”“”,而清除此选项后,而清除此选项后,而清除此选项后,而清除此选项后,“”“”消消消消失。失。失。失。2 重要属性重要属性CaptionCaption、AlignmentAlignment、StyleStyle与单选钮相同与单选钮相同与单选钮相同与单选钮相同ValueVal
21、ue属性与单选按钮不同,其值为数值型数据,属性与单选按钮不同,其值为数值型数据,属性与单选按钮不同,其值为数值型数据,属性与单选按钮不同,其值为数值型数据,可取可取可取可取“0”,“1”,“2”0”,“1”,“2”0-Unchecked0-Unchecked:表示该复选框未被选定:表示该复选框未被选定:表示该复选框未被选定:表示该复选框未被选定1-Checked1-Checked:表示选定该复选框:表示选定该复选框:表示选定该复选框:表示选定该复选框2-Grayed2-Grayed:表示该复选框被禁止选择(灰色):表示该复选框被禁止选择(灰色):表示该复选框被禁止选择(灰色):表示该复选框被禁
22、止选择(灰色)复复选选框名框名Value属性属性值值意意义义Check10未被未被选选定定Check2Check31被被选选定定Check4Check52被禁止被禁止选择选择Check6如下表所示各复选框的如下表所示各复选框的Value属性值,其显示状态如下图所示。属性值,其显示状态如下图所示。Value=0 Value=Value=4 方法方法同单选按钮一样,同单选按钮一样,同单选按钮一样,同单选按钮一样,SetFocusSetFocus方法也是复选框常用方法也是复选框常用方法也是复选框常用方法也是复选框常用的方法。的方法。的方法。的方法。5 事件事件ClickClick事件是复选框控件最基
23、本的事件。用户事件是复选框控件最基本的事件。用户事件是复选框控件最基本的事件。用户事件是复选框控件最基本的事件。用户一般无需为复选框编写一般无需为复选框编写一般无需为复选框编写一般无需为复选框编写ClickClick事件过程,但其对事件过程,但其对事件过程,但其对事件过程,但其对ValueValue属性值的改变遵循以下规则:属性值的改变遵循以下规则:属性值的改变遵循以下规则:属性值的改变遵循以下规则:单击未选中的复选框时,单击未选中的复选框时,单击未选中的复选框时,单击未选中的复选框时,ValueValue属性值变为属性值变为属性值变为属性值变为1 1;单击已选中的复选框时,单击已选中的复选框
24、时,单击已选中的复选框时,单击已选中的复选框时,ValueValue属性值变为属性值变为属性值变为属性值变为0 0;单击变灰的复选框时,单击变灰的复选框时,单击变灰的复选框时,单击变灰的复选框时,ValueValue属性值变为属性值变为属性值变为属性值变为0 0。4.2.3 框架框架 1 用途用途框架(框架(Frame)控件是一个容器控件,控件是一个容器控件,为控件提供可标识的分组,提供了视觉上为控件提供可标识的分组,提供了视觉上的区分和总体的激活的区分和总体的激活/屏蔽特性屏蔽特性 2 重要属性重要属性(1)Caption属性:框架标题属性:框架标题(2)Enabled属性:属性:缺省为缺省
25、为True,框架内的对象是,框架内的对象是“活动活动”的。的。False:标题呈灰色,框架内的所有对:标题呈灰色,框架内的所有对象均被屏蔽,不允许对其进行操作。象均被屏蔽,不允许对其进行操作。(3)Visible属性:属性:True:框架及其控件可见。:框架及其控件可见。False:框架及其控件被隐含起来。:框架及其控件被隐含起来。3 事件:事件:框架可以响应的事件有框架可以响应的事件有Click、DblClick。说明:说明:一般不需要有关框架的事件过程,它一般不需要有关框架的事件过程,它不接受用户输入,不能显示文本和图形,不接受用户输入,不能显示文本和图形,也不能与图形相连。也不能与图形相
26、连。4 操作操作使用框架的主要目的是为了对相关控使用框架的主要目的是为了对相关控件进行分组,在同一框架内的控件为一组,件进行分组,在同一框架内的控件为一组,可作为一个整体和框架一起移动,而且不可作为一个整体和框架一起移动,而且不同框架内的控件的操作互相不会影响,相同框架内的控件的操作互相不会影响,相互独立。通常有两种方法把指定的控件放互独立。通常有两种方法把指定的控件放到框架中,对控件进行分组。到框架中,对控件进行分组。方法一:方法一:在指定位置画出框架。在指定位置画出框架。在框架内画出需要成为一组的控件。在框架内画出需要成为一组的控件。方法二:方法二:有时,可能需要对窗体上(不是框架内)已有
27、有时,可能需要对窗体上(不是框架内)已有有时,可能需要对窗体上(不是框架内)已有有时,可能需要对窗体上(不是框架内)已有的控件进行分组,把它们的控件进行分组,把它们的控件进行分组,把它们的控件进行分组,把它们“移动移动移动移动”到不同的框架到不同的框架到不同的框架到不同的框架内。操作步骤如下:内。操作步骤如下:内。操作步骤如下:内。操作步骤如下:选择需要分组的控件。选择需要分组的控件。选择需要分组的控件。选择需要分组的控件。执行执行执行执行“编辑编辑编辑编辑”菜单中的菜单中的菜单中的菜单中的“剪切剪切剪切剪切”命令(或按命令(或按命令(或按命令(或按Ctrl+XCtrl+X),即把选择的控件放
28、入剪贴板。),即把选择的控件放入剪贴板。),即把选择的控件放入剪贴板。),即把选择的控件放入剪贴板。在窗体上画出框架,并保持它为活动状态。在窗体上画出框架,并保持它为活动状态。在窗体上画出框架,并保持它为活动状态。在窗体上画出框架,并保持它为活动状态。执行执行执行执行“编辑编辑编辑编辑”菜单中的菜单中的菜单中的菜单中的“粘贴粘贴粘贴粘贴”命令(或按命令(或按命令(或按命令(或按Ctrl+VCtrl+V)。)。)。)。运用框架操作的方法一,在窗体中建立三个框运用框架操作的方法一,在窗体中建立三个框运用框架操作的方法一,在窗体中建立三个框运用框架操作的方法一,在窗体中建立三个框架(架(架(架(Fr
29、ame1Frame1、Frame2Frame2和和和和 Frame3Frame3);然后将六);然后将六);然后将六);然后将六个单选按钮(个单选按钮(个单选按钮(个单选按钮(Option1Option1、Option2Option2、Option3Option3、Option4Option4、Option5Option5和和和和Option6Option6)分别放置在三个)分别放置在三个)分别放置在三个)分别放置在三个框架中,建立如下图所示的用户界面。在同一框框架中,建立如下图所示的用户界面。在同一框框架中,建立如下图所示的用户界面。在同一框框架中,建立如下图所示的用户界面。在同一框架内的单
30、选按钮为一组,和对应框架成为一个整架内的单选按钮为一组,和对应框架成为一个整架内的单选按钮为一组,和对应框架成为一个整架内的单选按钮为一组,和对应框架成为一个整体,可以随着框架的移动而移动,并且不同框架体,可以随着框架的移动而移动,并且不同框架体,可以随着框架的移动而移动,并且不同框架体,可以随着框架的移动而移动,并且不同框架内单选按钮的操作互不影响。内单选按钮的操作互不影响。内单选按钮的操作互不影响。内单选按钮的操作互不影响。说明:说明:在一个窗体中,若没有使用框架对多在一个窗体中,若没有使用框架对多个单选按钮进行分组,而是直接将多个按个单选按钮进行分组,而是直接将多个按钮放置在窗体中,如果
31、选择其中一个单选钮放置在窗体中,如果选择其中一个单选按钮,那么,其它单选按钮将会自动关闭。按钮,那么,其它单选按钮将会自动关闭。但是,当需要在同一个窗体上建立几组相但是,当需要在同一个窗体上建立几组相互独立的单选按钮时,则必须采用框架为互独立的单选按钮时,则必须采用框架为单选按钮分组,使得在不同框架内的单选单选按钮分组,使得在不同框架内的单选按钮的操作互不影响,即每个框架内的单按钮的操作互不影响,即每个框架内的单选按钮的操作不影响其它组的按钮。选按钮的操作不影响其它组的按钮。4.3 选择结构选择结构 选择结构是根据选择条件来控制程序选择结构是根据选择条件来控制程序的流程走向,有选择的执行相应的
32、语句块。的流程走向,有选择的执行相应的语句块。在在VB语言中,构成选择结构的语句有语言中,构成选择结构的语句有If语语句和句和Select-Case语句。前者较适合用于只语句。前者较适合用于只有两种选择的情况,而后者较适合用于存有两种选择的情况,而后者较适合用于存在多种选择的情况。在多种选择的情况。4.3.1 if语句语句【例例4.3】设计一个程序,通过单选按钮设置设计一个程序,通过单选按钮设置简单个人信息,如性别、民族和入党信息。简单个人信息,如性别、民族和入党信息。同时将选择后的信息显示出来。操作界面同时将选择后的信息显示出来。操作界面如下图所示:如下图所示:说明:说明:【例例4.3】中用
33、户界面设计采用三个框架。中用户界面设计采用三个框架。将代表不同性质的几个单选按钮分为三个将代表不同性质的几个单选按钮分为三个不同的组。使得在不同组内的单选按钮的不同的组。使得在不同组内的单选按钮的操作互不影响。操作互不影响。命令按钮命令按钮“显示显示”的的Click事件过程的功事件过程的功能主要由能主要由if选择语句实现。选择语句实现。1 If语句格式语句格式格式格式1:If Then Else Endif格式格式2:If Then Else 说明:说明:说明:说明:“格式格式格式格式1”1”是一种最常见的是一种最常见的是一种最常见的是一种最常见的If If语句格式。语句格式。语句格式。语句格
34、式。执行过程为:执行过程为:执行过程为:执行过程为:判断判断判断判断If If 语句的条件是否为真,为真,转语句的条件是否为真,为真,转语句的条件是否为真,为真,转语句的条件是否为真,为真,转;若为假,;若为假,;若为假,;若为假,转转转转。执行执行执行执行ThenThen子句,不执行子句,不执行子句,不执行子句,不执行ElseElse子句;转子句;转子句;转子句;转。跳过跳过跳过跳过ThenThen子句,子句,子句,子句,执行执行执行执行ElseElse子句。子句。子句。子句。执行执行执行执行EndifEndif的后继语句。的后继语句。的后继语句。的后继语句。总之,总之,总之,总之,Then
35、Then子句和子句和子句和子句和ElseElse子句必须二者择一的选择执行。子句必须二者择一的选择执行。子句必须二者择一的选择执行。子句必须二者择一的选择执行。“格式格式格式格式2”2”是是是是“格式格式格式格式1”1”行书写形式,省略了关键字行书写形式,省略了关键字行书写形式,省略了关键字行书写形式,省略了关键字EndifEndif。执。执。执。执行过程同行过程同行过程同行过程同“格式格式格式格式1”1”。格式格式3:If Then Endif说明:说明:“格式格式3”是是“格式格式1”省略省略else子句的形式。子句的形式。执行过程为:执行过程为:判断判断If 语句的条件是否为真,为真则转
36、语句的条件是否为真,为真则转;若为假,转若为假,转。执行执行Then子句,转子句,转。执行执行Endif的后继语句。的后继语句。格式格式格式格式4 4:result=result=IIfIIf(条件,为真的结果值,为假的结果值)(条件,为真的结果值,为假的结果值)(条件,为真的结果值,为假的结果值)(条件,为真的结果值,为假的结果值)说明:说明:说明:说明:“格式格式格式格式4”4”称为称为称为称为IIfIIf函数,是函数,是函数,是函数,是“格式格式格式格式2”2”的简写版本。的简写版本。的简写版本。的简写版本。执行过程为:执行过程为:执行过程为:执行过程为:条件若为真,则将条件若为真,则将
37、条件若为真,则将条件若为真,则将“为真的结果值为真的结果值为真的结果值为真的结果值”赋给变量赋给变量赋给变量赋给变量resultresult,条件若为假,则将为假的结果值赋给变,条件若为假,则将为假的结果值赋给变,条件若为假,则将为假的结果值赋给变,条件若为假,则将为假的结果值赋给变量量量量resultresult。显然,使用显然,使用显然,使用显然,使用IIfIIf函数可大大简化代码,但并不函数可大大简化代码,但并不函数可大大简化代码,但并不函数可大大简化代码,但并不是所有的是所有的是所有的是所有的if if语句都可改写为语句都可改写为语句都可改写为语句都可改写为IIfIIf函数,只有当函数
38、,只有当函数,只有当函数,只有当thenthen子子子子句和句和句和句和elseelse子句都为简单的赋值语句,且赋值的对子句都为简单的赋值语句,且赋值的对子句都为简单的赋值语句,且赋值的对子句都为简单的赋值语句,且赋值的对象为同一个变量时,才可使用象为同一个变量时,才可使用象为同一个变量时,才可使用象为同一个变量时,才可使用IIfIIf函数。函数。函数。函数。【例例4.4】根据给定范围的年份,判断该年份根据给定范围的年份,判断该年份是否为闰年。界面设计如下图:是否为闰年。界面设计如下图:分析:我们知道,某一年份是闰年的条件是该年号分析:我们知道,某一年份是闰年的条件是该年号分析:我们知道,某
39、一年份是闰年的条件是该年号分析:我们知道,某一年份是闰年的条件是该年号能被能被能被能被400400整除,或者能被整除,或者能被整除,或者能被整除,或者能被4 4整除而不能被整除而不能被整除而不能被整除而不能被100100整除,整除,整除,整除,因此可将上述条件作为选择结构的判断条件,如因此可将上述条件作为选择结构的判断条件,如因此可将上述条件作为选择结构的判断条件,如因此可将上述条件作为选择结构的判断条件,如满足该条件则输入的年份为闰年,否则输入的年满足该条件则输入的年份为闰年,否则输入的年满足该条件则输入的年份为闰年,否则输入的年满足该条件则输入的年份为闰年,否则输入的年份不是闰年。另外,若
40、输入的年份不在要求的范份不是闰年。另外,若输入的年份不在要求的范份不是闰年。另外,若输入的年份不在要求的范份不是闰年。另外,若输入的年份不在要求的范围内,则要求继续重新输入,直到输入的年份在围内,则要求继续重新输入,直到输入的年份在围内,则要求继续重新输入,直到输入的年份在围内,则要求继续重新输入,直到输入的年份在要求的范围内。显然代码段需要使用选择结构。要求的范围内。显然代码段需要使用选择结构。要求的范围内。显然代码段需要使用选择结构。要求的范围内。显然代码段需要使用选择结构。说明:说明:说明:说明:【例例例例4.44.4】中命令按钮中命令按钮中命令按钮中命令按钮“判断判断判断判断”的的的的
41、ClickClick事件过事件过事件过事件过程代码的中心语句是程代码的中心语句是程代码的中心语句是程代码的中心语句是If If条件选择语句,根据实际情条件选择语句,根据实际情条件选择语句,根据实际情条件选择语句,根据实际情况,为了判断输入的年份是否在要求的范围内,况,为了判断输入的年份是否在要求的范围内,况,为了判断输入的年份是否在要求的范围内,况,为了判断输入的年份是否在要求的范围内,使用了使用了使用了使用了If If语句的嵌套,外层语句的嵌套,外层语句的嵌套,外层语句的嵌套,外层If If语句用来判断输入的语句用来判断输入的语句用来判断输入的语句用来判断输入的年份是否在要求的范围内,若在要
42、求的范围,则年份是否在要求的范围内,若在要求的范围,则年份是否在要求的范围内,若在要求的范围,则年份是否在要求的范围内,若在要求的范围,则在内层在内层在内层在内层If If语句来判断输入的年份是否是闰年,并显语句来判断输入的年份是否是闰年,并显语句来判断输入的年份是否是闰年,并显语句来判断输入的年份是否是闰年,并显示相应判断结果;若输入的年份不在要求的范围示相应判断结果;若输入的年份不在要求的范围示相应判断结果;若输入的年份不在要求的范围示相应判断结果;若输入的年份不在要求的范围内,则要求继续重新输入。内,则要求继续重新输入。内,则要求继续重新输入。内,则要求继续重新输入。外层外层外层外层If
43、 If语句的判断条件语句的判断条件语句的判断条件语句的判断条件(y=1)And(y=1)And(y=5000)和内层和内层和内层和内层If If语句的判断条件语句的判断条件语句的判断条件语句的判断条件(y Mod 4=0)And(y(y Mod 4=0)And(y Mod 100 0)Or(y Mod 400=0)Mod 100 0)Or(y Mod 400=0)都是逻辑表达都是逻辑表达都是逻辑表达都是逻辑表达式,逻辑结果值均由具体输入的年份而定。条件式,逻辑结果值均由具体输入的年份而定。条件式,逻辑结果值均由具体输入的年份而定。条件式,逻辑结果值均由具体输入的年份而定。条件(y=1)And(
44、y=1)And(y=5000)用来判断输入的年份是用来判断输入的年份是用来判断输入的年份是用来判断输入的年份是否在要求的范围内。条件否在要求的范围内。条件否在要求的范围内。条件否在要求的范围内。条件(y Mod 4(y Mod 4 =0)And(y=0)And(y Mod 100 0)Or(y Mod 400=0)Mod 100 0)Or(y Mod 400=0)则用来判断则用来判断则用来判断则用来判断输入的年份是否能被输入的年份是否能被输入的年份是否能被输入的年份是否能被400400整除,或者能被整除,或者能被整除,或者能被整除,或者能被4 4整除而整除而整除而整除而不能被不能被不能被不能被
45、100100整除,即用来判断输入的年份是否为闰整除,即用来判断输入的年份是否为闰整除,即用来判断输入的年份是否为闰整除,即用来判断输入的年份是否为闰年。年。年。年。4.3.2 Select-Case语句语句 在实际应用中,经常会出现多种选择的情况,在实际应用中,经常会出现多种选择的情况,在实际应用中,经常会出现多种选择的情况,在实际应用中,经常会出现多种选择的情况,使用使用使用使用If If语句的嵌套可以实现这种功能,但程序结构语句的嵌套可以实现这种功能,但程序结构语句的嵌套可以实现这种功能,但程序结构语句的嵌套可以实现这种功能,但程序结构显得较为凌乱,不便于调试,使用多重选择结构显得较为凌乱
46、,不便于调试,使用多重选择结构显得较为凌乱,不便于调试,使用多重选择结构显得较为凌乱,不便于调试,使用多重选择结构语句语句语句语句Select-CaseSelect-Case语句能够简便的实现这种功能,语句能够简便的实现这种功能,语句能够简便的实现这种功能,语句能够简便的实现这种功能,并且会使程序的结构更清晰、更直观。通常将并且会使程序的结构更清晰、更直观。通常将并且会使程序的结构更清晰、更直观。通常将并且会使程序的结构更清晰、更直观。通常将Select-CaseSelect-Case语句称为多分支选择语句,或多重语句称为多分支选择语句,或多重语句称为多分支选择语句,或多重语句称为多分支选择语
47、句,或多重选择语句。一般可以实现在多种选择的情况下,选择语句。一般可以实现在多种选择的情况下,选择语句。一般可以实现在多种选择的情况下,选择语句。一般可以实现在多种选择的情况下,选择其中之一执行的功能。选择其中之一执行的功能。选择其中之一执行的功能。选择其中之一执行的功能。1 Select-Case语句格式 Select Case 变量或表达式 Case 表达式列表1 语句块1 Case 表达式列表2 语句块2 Case Else 语句块n+1End Select2 说明:说明:(1)格式中的)格式中的又可称为又可称为。(2):是与:是与 同同类型的下面四种形式之一:类型的下面四种形式之一:表
48、达式表达式 a+5 一组枚举表达式一组枚举表达式(用逗号分隔用逗号分隔)2,4,6,8 表达式表达式1 To 表达式表达式2 60 to 100 Is 关系运算符表达式关系运算符表达式 Is=90 Case Is=90 Text2.Text=Text2.Text=优秀优秀优秀优秀 Case Is=80 Case Is=80 Text2.Text=Text2.Text=良好良好良好良好 Case Is=70 Case Is=70 Text2.Text=Text2.Text=中等中等中等中等 Case Is=60 Case Is=60 Text2.Text=Text2.Text=及格及格及格及格
49、Case Else Case Else Text2.Text=Text2.Text=不及格不及格不及格不及格 End Select End SelectEnd SubEnd Sub 其中其中其中其中CaseCase子句中的表达式也可以改为其他形式,子句中的表达式也可以改为其他形式,子句中的表达式也可以改为其他形式,子句中的表达式也可以改为其他形式,如:如:如:如:Case Is=70 Text2.Text=中等中等 Case 70 to 79 Text2.Text=中等中等“思考:如若改为如下形式:思考:如若改为如下形式:思考:如若改为如下形式:思考:如若改为如下形式:Case 70Case
50、70=grade and grade=grade and grade8080 Text2.Text=Text2.Text=中等中等中等中等 是否可以得到正确的运行结果?请读者自是否可以得到正确的运行结果?请读者自行测试。行测试。【例例4.6】设计一个程序,在窗体的中心位置设计一个程序,在窗体的中心位置放置一个较小的图像,当按下并且释放键放置一个较小的图像,当按下并且释放键盘上的盘上的A、S、D、W键时,图像分别向左、键时,图像分别向左、下、右、上方向移动。下、右、上方向移动。设计用户界面设计用户界面 根据题目要求,当按下并且释放键盘上的根据题目要求,当按下并且释放键盘上的某个键时,可触发窗体上