
C#程序设计教程 教学课件 ppt 作者 刘瑞新第3章 流程控制语句与控件.ppt
33页第3章 流程控制语句与控件,本章讲述的主要内容 3.1 流程控制语句 3.2 常用控件 3.3 使用控件类创建动态控件 3.4 键盘鼠标事件,3.1 流程控制语句,所谓“流程控制”是指在程序设计时通过顺序、选择、循环等语法结构来控制代码的执行顺序,以达到依次执行、判断后选择执行、重复执行等运行效果3.1 流程控制语句,3.1.1 选择结构 所谓“选择结构”是指程序可以根据一定的条件有选择地执行某一程序段,即对不同的问题采用不同的处理方法最简单的选择结构可以概括成“如果A,则B,否则C”,显然A是一个条件,而B和C是处理问题的方法,也就是说如果条件A成立,则按方案B执行,否则按方案C执行 1. if…else结构 if (条件表达式) { 语句序列1 } else { 语句序列2 },3.1 流程控制语句,3.1.1 选择结构 2. if…else if结构 if (条件表达式1) {条件表达式1成立时执行的语句序列} else if (条件表达式2) {条件表达式2成立时执行的语句序列} else if (条件表达式n) {条件表达式n成立时执行的语句序列} else {上述所有条件都不成立时执行的语句序列},3.1 流程控制语句,3.1.1 选择结构 3. if语句的嵌套 所谓“if语句的嵌套”是指在一个if选择结构程序段中包含另一个if选择结构。
if(条件1) { if(条件2) { 语句序列A } else { 语句序列B} },3.1 流程控制语句,3.1.1 选择结构 4. 多分支选择结构(switch语句) switch (控制表达式) { case 常量表达式1: 语句序列1 break; case 常量表达式2: 语句序列2 break; default: 语句序列3 break; },3.1 流程控制语句,3.1.2 循环结构 1. for循环 for循环常常用于已知循环次数的情况(也称为“定次循环”),使用该循环时,测试是否满足某个条件,如果满足条件,则进入下一次循环,否则,退出该循环for循环语句的语法格式为: for (表达式1; 表达式2; 表达式3) { 循环语句序列(循环体); },3.1 流程控制语句,3.1.2 循环结构 2. while循环 while循环非常适合这种情况循环时在循环的顶部判断某个条件是否满足,当循环的条件判断为真时(满足条件),进入循环,否则退出循环while循环语句的格式为: while (条件表达式) { 循环语句序列 },3.1 流程控制语句,3.1.2 循环结构 3. do…while循环 do…while循环非常类似于while循环。
一般情况下,二者可以相互转换使用它们之间的差别在于while循环的测试条件在每一次循环开始时执行,而do…while循环的测试条件在每一次循环体结束时进行判断do…while语法的一般格式为: do { 循环语句序列 } while (条件表达式);,3.1 流程控制语句,3.1.2 循环结构 4. 循环嵌套 若一个循环结构中包含有另一个循环,则称为“循环的嵌套”这种语句结构称为多重循环结构内层循环中还以包含新的循环,形成多层循环结构,循环嵌套的层数理论上无限制 在多重循环结构中,三种循环语句(for循环、while循环和do…while循环)可以互相嵌套在多重循环中,需要注意的是循环语句所在循环的层次,内循环必须完全包含在外循环内部 在程序设计过程中,多重循环的使用非常普遍,循环的层数可根据具体情况而定但是多重循环可能导致程序的执行速度有所降低3.2 常用控件,Visual Studio为开发人员提供了大量程序设计中需要的各类控件,并为这些控件预定义了一些通用的属性、事件和方法 设计简单应用程序时,开发人员只需要将工具箱中的控件添加到窗体构成用户操作界面,再通过属性窗口设置这些控件的初始属性,最后使用流程控制语句编写响应系统事件或用户事件的代码,在程序运行时更改控件的属性值,从而实现程序设计目标。
由此可见,控件是构成应用程序的重要组成部分,掌握常用控件所支持的属性、事件和方法时程序设计的基础3.2 常用控件,3.2.1 基本控件 所谓基本控件是指:标签(Label)、文本框(TextBox)和命令按钮(Button)3个控件它们是程序设计中使用最为频繁的Windows应用程序控件 1. 标签控件(Label) 在Visual Studio设计视图中双击工具箱中标签控件图标,即可将一个标签控件添加到当前光标所在位置标签控件的主要作用是在页面中显示输出结果、输入提示等文本信息 标签控件的主要属性有Text属性和Visible属性Text属性用于设置或获取标签中显示的文本信息,Visible属性用于设置标签控件是否可见3.2 常用控件,3.2.1 基本控件 2. 文本框控件(textBox) 文本框控件的主要作用是在页面中提供用户输入界面,接收用户的输入数据 常用属性:Text、Height、Width、Enable、ReadOnly、PasswordChar等 主要事件:TextBox控件最常用的事件是TextChanged事件,该事件在文本框的内容发生变化(向文本框中录入或删除文本)时发生。
3.2 常用控件,3.2.1 基本控件 3. 命令按钮控件(Button) 列表框和组合框都是以列表的形式向用户提供可选项的控件在列表框中任何时候都能看到多个项,而在组合框中一般只能看到一个项,用鼠标单击其右侧的▼按钮可以看到多项的列表,可以将组合框理解成一个折叠起来的列表框,故常也将其称为“下拉列表框”列表框与组合框还有一点不同是,列表框只能在共选项中进行选择,而组合框除了具有列表框的选择功能外,也可以通过键盘输入列表中未提供的选项 命令按钮控件与其他控件相似,也具有Text、Visible、Enable等属性,其含义与前面介绍的完全相同 命令按钮控件最常用的事件是Click事件,即用户在程序运行时单击按钮触发的用户事件在设计视图中,双击Button控件系统将自动切换到代码窗口并创建出Click事件过程头和过程尾,程序员仅需要在其间编写响应该事件的代码即可3.2 常用控件,3.2.2 选择类控件 所谓“选择类控件”是指在应用程序中提供选项供用户选择的控件常用的选择类控件有: 列表框(ListBox) 组合框(ComboBox) 单选按钮(RadioButton) 复选框(CheckBox) 复选列表框(CheckListBox),3.2 常用控件,3.2.2 选择类控件 1. 列表框和组合框 列表框 和组合框 都是以列表的形式向用户提供可选项的控件。
在列表框中任何时候都能看到多个项,而在组合框中一般只能看到一个项,用鼠标单击其右侧的▼按钮可以看到多项的列表,可以将组合框理解成一个折叠起来的列表框,故常也将其称为“下拉列表框”列表框与组合框还有一点不同是,列表框只能在共选项中进行选择,而组合框除了具有列表框的选择功能外,也可以通过键盘输入列表中未提供的选项3.2 常用控件,3.2.2 选择类控件 2. 单选按钮和复选按钮 (1)单选按钮 单选按钮(RadioButton)通常以若干个独立控件组成一组的形式出现在窗体中,可以为用户提供输入选项,并显示该选项是否被选中(内部有一黑点者表示选中)该控件只能用于“多选一”的情况,当组内某个按钮被选中时,其他按钮将自动失效如果需要在同一个窗体中创建多个单选按钮组,则需要使用容器控件(GroupBox、Panel等)将其分配在不同的“组”中3.2 常用控件,3.2.2 选择类控件 2. 单选按钮和复选框 (2) 复选框 复选框(CheckBox)是用于向用户提供多选输入数据的控件用户可以在控件提供的多个选项中选择一个或多个被选中的对象中带有一个“√”标记,,3.2 常用控件,3.2.3 图片控和图片列表框 图片框控件PictureBox与图片列表控件ImageList用于在窗体中显示和辅助显示图片,是最基本的图形图像控件。
1.使用图片框(PictureBox) 图片框控件PictureBox用来在窗体上显示一个图片,并支持多种格式的图片前面介绍过的Label、Button控件也可通过其Image属性来显示图片,但PictureBox显示图片的方法更加灵活,用户除了可通过PictureBox的Image属性显示指定的图片,还可以通过其SizeMode属性设置控件或图片的大小及位置关系3.2 常用控件,3.2.3 图片控和图片列表框 2. 使用图片列表框(ImageList) 图片列表框控件ImageList本身并不显示在窗体上,它只是一个图片容器,保存一些图片文件,因此程序运行时,图片列表框控件ImageList是不可见的但是,这些图片和ImageList控件本身可被项目中其他具有ImageList属性的对象使用,如Label、Button、TreeView、ListView、ToolBar等3.2 常用控件,3.2.4 焦点与Tab键序 焦点是控件接收用户鼠标或键盘输入的能力当对象具有焦点时,可接收用户的输入在Windows环境中,任一时刻都可以同时运行多个程序,但只有具有焦点的应用程序才有活动标题栏(蓝色标题栏),也只有具有焦点的程序才能接受用户输入(键盘或鼠标的动作)。
当对象得到或失去焦点时,会产生GotFocus或LostFocus事件窗体和多数控件都支持这些事件从事件的名称上不难看出,GotFocus事件发生在对象得到焦点时,LostFocus事件发生在失去焦点时使用以下的方法可以将焦点赋予对象: 1) 运行时选择对象 2) 运行时用快捷键选择对象 3) 在代码中使用对象的Focus()方法3.2 常用控件,3.2.4 焦点与Tab键序 焦点:焦点是控件接收用户鼠标或键盘输入的能力当对象具有焦点时,可接收用户的输入在Windows环境中,任一时刻都可以同时运行多个程序,但只有具有焦点的应用程序才有活动标题栏(蓝色标题栏),也只有具有焦点的程序才能接受用户输入(键盘或鼠标的动作) Tab键序:所谓Tab键序指的是在用户按下〈Tab〉键时,焦点在控件间移动的顺序每个窗体都有自己的Tab键序缺省状态下Tab键序与建立这些控件的顺序相同例如在窗体上建立三个命令按钮C1、C2和C3,程序启动时C1首先获得焦点当用户按下〈Tab〉键时焦点依此向C2、C3转移,如此这般往复循环3.3 使用控件类创建动态控件,Visual Studio将控件存放在工具箱中,使用时可通过双击工具箱中某控件图标或直接拖动的方式将其添加到窗体中。
按照面向对象程序设计的概念可以将所有控件归纳为“控件类”,控件类中又包含了“按钮类”、“文本框类”等等,当然用户也可以创建具有特殊功能的专用控件类 存放在工具箱中的各种控件是以“类”的形式出现的例如,工具箱中的按钮控件图标就代表了各种表现形式的所有按钮也就是说工具箱中的控件表现的是一种“类型”,将其添加到窗体的操作实际上是完成了“类的实例化”,即将抽象的类型转换成实际的对象 由于控件是控件类的实例化结果,自然可以在程序运行中使用代码动态地创建、显示和操作控件通常我们将由代码动态创建的控件称为“动态控件”3.3 使用控件类创建动态控件,3.3.1 控件类的实例化 可以像声明一个变量一样实例化一个控件类,从而得到一个控件对象控件类实例化的语法格式为: 控件类名 对象名 = new 控件类名; 例如,下列语句用于实例化一个按钮对象 Button btn = new Button(); 通过控件类实例化得到的控件对象,可以像处理普通控件一个设置其初始属性例如: Button btn = new Button(); btn.Text = “确定“;,3.3 使用控件类创建动态控件,3.3.2。












