选择结构-西安交通大学

上传人:san****019 文档编号:22895074 上传时间:2021-06-02 格式:PPT 页数:33 大小:684KB
收藏 版权申诉 举报 下载
选择结构-西安交通大学_第1页
第1页 / 共33页
选择结构-西安交通大学_第2页
第2页 / 共33页
选择结构-西安交通大学_第3页
第3页 / 共33页
资源描述:

《选择结构-西安交通大学》由会员分享,可在线阅读,更多相关《选择结构-西安交通大学(33页珍藏版)》请在装配图网上搜索。

1、选 择 结 构 教 学 目 标掌握IFTHENElse语句熟悉组合框、列表框、检查列表框(CheckedListBox)掌握Select Case语句 4.1 If语 句4.1.1 IfThen语句 If-Then语句用来当条件满足时执行某些语句,反之则不执行。If-Then语句的格式如下: If Then 语句块 End If If-Then语句亦称为单分支结构。其中条件表达式的值为Boolean型,用将条件表达式括起来表示它在IF语句中是必须具有的一项,即IF语句中的条件表达式不可缺少。 例如,对输入的数值进行判断。输入大于25的数值时,在MessageBox内显示“大于25”。否则将不显

2、示任何信息。 If intNumber 25 Then MessageBox.Show( 大于25) End If 4.1.2 IfThenElse语句 当条件表达式的值为True时,程序执行一些语句,其值为False时,程序执行另一些语句,此时可以使用If-Then-Else语句。If-Then-Else语句的格式如下: If Then Else End If 该语句的作用是当条件表达式的值为True时,程序执行语句块1,当条件表达式的值为False时,程序将执行语句块2。 例如对intSex变量进行判断,为0时是男性;否则是女性: If intSex=0 ThenMessageBox.Sh

3、ow(“You are a man!”)ElseMessageBox.Show(“You are a woman!”)End If 创建一新的项目,对输入的数值进行判断。在其中的一个TextBox中输入数值,如果输入的数据为7的整倍数,在另一个TextBox文本框内显示“是7的倍数”,反之则显示“不能被7整除”。在窗体上放置2个TextBox控件,分别用来接受输入和显示结果,Name属性分别为TxtInput和TxtResult。再添加一个按钮,并为这个按钮的Click事件编写如下代码: Private Sub BtnGo_Click(ByVal sender As System.Object

4、, _ByVal e As System.EventArgs) Handles BtnGo.Click Dim lngIn As Long lngIn = Convert.ToInt64(TxtInput.Text) If lngIn Mod 7 = 0 Then TxtResult.Text = 是7的倍数 Else TxtResult.Text = 不能被7整除 End If End Sub 程序中使用了显示的转换Convert.ToInt64,当然也可以直接赋值,由Visual Basic作隐式转换。 4.1.3 IfThenElseIf语句 分支超过2个的情况,此时可以在IfThenE

5、nd If结构中使用ElseIf 语句,格式如下: If Then ElseIf Then Else 语句块n+1 End If 该语句的作用是根据不同的条件表达式的值确定执行哪个语句块,Visual Basic测试条件的顺序为条件表达式1、条件表达式2、,每当遇到某个条件表达式值为True时,就执行该条件下的语句块。 例如在下面一段代码中根据Caller的值不同而执行不同的语句。 If Caller = Joe Then MessageBox.Show( Yes!) ElseIf Caller = Matt Then MessageBox.Show(Okay, but if you buy.

6、) ElseIf Caller = Jeff Then MessageBox.Show(Im washing my hair tonight.) ElseIf Caller = Robby Then MessageBox.Show( This is a recording.) End If注意: 1.的是不管程序有几个分支,在执行了一个分支后,其余 分支不再执行。 2.ElseIf不要写成Else If。 4.1.4嵌套IfThen语句 If语句可以嵌套,既可在If语句当中可以包含另外一个If语句。If语句的嵌套语句格式如下: If Then If Then End If End If 例如只

7、有当n=3并且x=6时显示“n=3 & x=6”。 If n = 3 Then MessageBox.Show(n=3) If x = 6 Then MessageBox.Show(x=6 & n=3) End If End If If语句对于嵌套的多少是没有限制的。但是嵌套的层数越多,代码执行起来就会越困难,越容易出错。所以,应尽量把嵌套层数减少。 例:在两个文本框中任意输入两个数字,按下Max按钮后将较大的一个显示在第三个文本框中。创建新的工程起名为Biger,在窗体上放置3个TextBox控件和一个按钮,清除3个TextBox控件的Text属性,将3个TextBox控件的name属性分别

8、设置为TxtOp1,TxtOp2,TxtBiger;将TxtBiger的ReadOnly属性设置为True;按钮的name属性为BtnBiger,Text的name属性为Max。采用快速添加事件代码的方法,双击按钮添加代码如下: Private Sub BtnBiger_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles BtnBiger.Click Dim dblOp1 As Double Dim dblOp2 As Double dblOp1 = TxtOp1.Text dblOp2 = Tx

9、tOp2.Text If dblOp1 = dblOp2 Then TxtBiger.Text = dblOp1 Else TxtBiger.Text = dblOp2 End If End Sub 4.1.5 Select Case语句(情况语句)Select Case语句是实现选择结构程序设计的另一种语句。它的使用有时比If语句更加简单直观。Select Case语句的格式如下:Select Case 变量名或表达式 Case 表达式列表1语句块1Case 表达式列表2语句块2Case Else 语句块n+1End Select 其中变量名或表达式可以是所有基本数据类型;表达式列表与“变量

10、名或表达式”的类型必须相同,可以取下面四种形式:表达式一组枚举表达式(用逗号分隔)表达式值的范围(如:表达式1 To 表达式2)Is 关系运算符表达式例如: Case 1 To 8 表示测试表达式的值在1到8之间 Case 1,.3,5,7,Is11 表示测试表达式的值为1,3,5,7或大于11该语句的作用是根据中的结果与各Case子句中的表达式的值进行比较,以决定执行哪一组语句块。 在Visual Basic .NET中,可以把所有基本数据类型运用到Select Case语句中。当有多个Case表达式的值与测试值匹配时,系统执行第一个与之匹配的语句。采用Select Case语句改写前面If

11、ThenElseIf的例子,如下所示:Select Case CallerCase “Joe”MessageBox.Show( Yes!)Case “Matt”MessageBox.Show(Okay, but if you buy.)Case “Jeff”MessageBox.Show(Im washing my hair tonight.)Case “Robby”MessageBox.Show( This is a recording.)End Select比较两程序段,显然,使用Select Case语句使代码变得更加清晰直观,不再重复出现ElseIf和Then 语句。 4.2 END语

12、句 End语句用于结束一个程序的运行,它可以放在任何事件过程中。End语句格式如下: End 以上在顺序结构、选择结构的代码中,都用到End与对应结构的关键词复合的语句。其实,以后介绍的情况语句、循环结构、子程序、过程等等的程序代码中,也必须以End与关键词复合语句结尾。这是Visual Basic代码编写时的规则,即作为一个完整的结构(顺序、选择(情况)、循环)、子程序、程序块,最后一个语句必须用End的关键词复合语句,以示该程序到此结束。否则,系统将会提示出错信息。例如End If、End Select、End Sub、End With等等。 4.3 ListBox、CheckedList

13、Box、ComboBox控件 ListBox(列表框)、CheckedListBox(复选列表框)和ComboBox(组合列表框),向用户提供选项。它们均可显示多个选项,而且比多个单选按钮或检查框占据的空间要少一些。 4.3.1 ListBox控件 ListBox控件用来显示选项列表,用户可从中进行选择一项或选择多项的操作。在窗体创建一个列表框时,单击ListBox小图标。鼠标箭头变为十字形状,将鼠标移至窗体上适当位置,按住鼠标左键,拖动鼠标绘制列表框。 右图为添加了选项的ListBox。 4.3.1.1 ListBox的属性 在设计的时候为ListBox添加选项,可以使用属性窗口中的Item

14、s属性(位于Data类别中)。打开ListBox的属性窗口,单击Items属性项右边的带有三个小黑点的按钮。Visual Studio .NET将打开一个字符串集合编辑器。将相应的选项内容输入到字符串集合编辑器中。.每输入一个选项后,按回车键换行。全部选项输入完毕后,单击OK按钮结束,如图4-3所示的ListBox。如果项总数超出可以显示的项数,则自动向 ListBox 控件添加滚动条。 常用属性: SelectionMode属性。 SelectedIndex属性。 SelectedItem属性获取或设置 ListBox 中的当前选定项。 SelectedIndices 属性,获取一个集合 。

15、 SelectedItems 属性,对于多重选择 ListBox,此属性返回一个集合。 Sorted属性,该属性决定列表框中的项目在程序运行期间是否按 字母顺序排列显示。 Text属性,该属性值是被选中的列表项的内容 。 4.3.1.2 程序运行时改变ListBox项 ListBox的Item属性本身是一个集合对象,可以利用Item的方法在程序运行期间给ListBox添加新的项目或删除某一项。用Add方法在ListBox后添加一项: ListBoxName.Item.Add(“新的表项”)要将某一项插入到指定位置,可以使用Insert方法:ListBoxName.Item.Insert(n,

16、“新的表项”)其中n表示要插入的位置。需要删除一项时,可以使用Remove方法:ListBoxName.Item.RemoveAt(n)ListBoxName.Item.Remove(“要删除的项”)使用项目的索引值,用RemoveAt 方法;用Remove方法通过删除项目本身的值来删除它。还可以使用Clear方法一次将所有项全部删除。 右边是一个关于ListBox的完整的例子。在ListBox中选中一项,可以通过单击删除按钮将它删去;也可以在TextBox中输入新项,单击加入按钮将此项添加到ListBox中。 3个按钮的Name属性分别为BtnAdd、BtnRemove和BtnExit。Li

17、stBox的Name属性为LstboxCourse。TextBox的Name属性为TxtNew。 在程序的设计阶段,已经使用Item的字符串集合编辑器添加了一些项。 下面分别为3个按钮添加Click事件处理代码如下:Private Sub BtnAdd_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles BtnAdd.Click If TxtNew.Text Then LstboxCourse.Items.Add(TxtNew.Text) End IfEnd SubPrivate Sub BtnR

18、emove_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles BtnRemove.Click If LstboxCourse.SelectedIndex = 0 Then LstboxCourse.Items.RemoveAt(LstboxCourse.SelectedIndex) End IfEnd SubPrivate Sub BtnExit_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles

19、BtnExit.Click EndEnd Sub程序运行结果如下,删除了一些项,添加了3项 4.3.2 CheckedListBox CheckedListBox(复选列表框)的使用在本质上与ListBox是一样的,只是选项在列表中显示的样式稍有不同,即在每个选项前有一个方框,当要选该项时,单击前面的方框即可。 CheckedListBox控件 可以看到,在每一项的前面有一个方框。方框里面有对号的表示已经选中的项。另外还有一项有一个蓝色的条(上图是马克思主义哲学项)表示目前突出显示的项。 需要注意:属性SelectedItems 和 SelectedIndices 并不确定哪些项已选中,它们确

20、定哪些项为突出显示的项。如果要确定那些项被选中,则需要对每一项分别调用方法GetItemChecked,若调用结果为True,表示被选中;反之,则未被选中。调用时,采用索引号指定某一项。若有: CheckListBoxName. GetItemChecked(0) CheckListBoxName. GetItemChecked(1) 则由于第一项被选中所以第一个式子的结果为True;而第二项未被选中,因此结果为False。CheeckedListBox控件的添加项、删除项等的方法与ListBox是一样的。 4.3.3组合框(ComboBox)的使用 ComboBox (组合框)控件结合了文本

21、框和列表框二者的特点。ComboBox 控件用于在下拉组合框中显示数据。 默认情况下,ComboBox 控件分两个部分显示:顶部是一个允许用户键入列表项的文本框。第二个部分是列表框,它显示用户可以从中进行选择的项的列表。 与ListBox控件一样,可以在Items属性中输入选项。程序运行后可以单击ComboBox控件的下拉箭头看到供选择的项。 默认状态下的ComboBox控件 程序运行时通过单击下拉箭头来选择需要的项 可以通过设置DropDownStyle属性使得CheckedListBox控件有3种不同的外观和运行方式,3种方式分别是DropDown 、Simple和DropDownList

22、如右图所示: 其他方面,和ListBox控件的用法基本相同。 ComboBox的3种模式DropDown模式 DropDownList模式 Simple模式 4.3.4 一个综合的例子 下面是一个查看课程的例子。用户首先通过一个Combox控件选择专业,一旦用户选择完毕,该专业的课程将出现在ListBox中。随后在ListBox中选择一个课程,单击课程详细信息按钮,显示一个MessageBox对话框。对话框中显示有任课教师姓名和课时数的信息。 创建该程序:新建一个项目取名为CourseSelect,在窗体上放置一个ComboBox控件、一个ListBox控件和一个按钮控件。分别设置他们的属性

23、。 在框架中添加代码如下:Private Sub CmboxSkill_SelectedIndexChanged(ByVal sender As Object, _ByVal e As System.EventArgs) Handles CmboxSkill.SelectedIndexChanged LstboxCourse.Items.Clear() Select Case CmboxSkill.SelectedIndex Case 0 LstboxCourse.Items.Add(离散数学) LstboxCourse.Items.Add(数据结构) LstboxCourse.Items.A

24、dd(编译原理) Case 1 LstboxCourse.Items.Add(电力系统) LstboxCourse.Items.Add(高电压技术) LstboxCourse.Items.Add(继电保护) Case 2 LstboxCourse.Items.Add(排队论) LstboxCourse.Items.Add(管理信息系统) Case 3 LstboxCourse.Items.Add(会计学) LstboxCourse.Items.Add(国际金融) End SelectEnd Sub 为Button控件的Click事件编写如下代码:Private Sub BtnDetail_Cl

25、ick(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles BtnDetail.Click If LstboxCourse.SelectedIndex = 0 Then Select Case CmboxSkill.SelectedIndex Case 0 If LstboxCourse.SelectedIndex = 0 Then MessageBox.Show(任课教师:陈明;课时数:64) ElseIf LstboxCourse.SelectedIndex = 1 Then MessageBox.Sho

26、w(任课教师:王虎;课时数:64) Else MessageBox.Show(任课教师:李博;课时数:72) End If Case 1 If LstboxCourse.SelectedIndex = 0 Then MessageBox.Show(任课教师:李延;课时数:48) ElseIf LstboxCourse.SelectedIndex = 1 Then MessageBox.Show(任课教师:张讯;课时数:64) Else MessageBox.Show(任课教师:钱云;课时数:72) End If Case 2 If LstboxCourse.SelectedIndex = 0

27、Then MessageBox.Show(任课教师:叶开;课时数:96) Else MessageBox.Show(任课教师:郭靖;课时数:32) End If Case 3 If LstboxCourse.SelectedIndex = 0 Then MessageBox.Show(任课教师:叶云;课时数:48) Else MessageBox.Show(任课教师:黄容;课时数:64) End If End Select Else MessageBox.Show(请选择课程) End IfEnd Sub 程序的运行结果,一旦选择了专业,ListBox会立即作出反应 用户选择了课程后的结果 用

28、户未选择课程的结果 补充阅读4.4 .NET 框架简介 .NET的最终目的是提供一个平台,以简单、安全、协调的方式来开发和基于Web的服务。.NET框架则是.NET的重心。.NET 框架是一种新的计算平台,它简化了在高度分布式 Internet 环境中的应用程序开发。.NET 框架旨在实现下列目标: 提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在 Internet 上分布,或者是在远程执行的。 提供一个将软件部署和版本控制冲突最小化的代码执行环境。 提供一个保证代码(包括由未知的或不完全受信任的第三方创建的代码)安全执行的代码执行环境。 提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。 使开发人员的经验在面对类型大不相同的应用程序(如基于 Windows 的应用程序和基于 Web 的应用程序)时保持一致。 按照工业标准生成所有通讯,以确保基于 .NET 框架的代码可与任何其 他代码集成。 小结IF语句IFTHEN语句IFTHENElse语句IFTHENElseIf语句嵌套IFTHEN语句 Select Case语句(情况语句)组合框(ComboBox) 、列表框( ListBox )、检查列表框(CheckedListBox) 作业P61:第5,6,7题

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!