`目录`1.1焦点与Tab键序....................................................................................................21.2Form.......................................................................................................................41.3Button控件..........................................................................................................101.4ListBox控件........................................................................................................101.5ComboBox控件...................................................................................................171.6DateTimePicker控件..........................................................................................171.7Label控件............................................................................................................211.8LinkLabel控件....................................................................................................221.9TextBox控件.......................................................................................................251.10PictureBox控件.................................................................................................291.11Timer控件.........................................................................................................301.12ProgressBar控件...............................................................................................341.13GroupBox控件..................................................................................................381.14Panel控件..........................................................................................................391.15RadioButton控件..............................................................................................391.16CheckBox控件..................................................................................................441.17TabControl控件................................................................................................441.18ScrollBar控件...................................................................................................46常用控件VisualC#2005提供了很多控件用于开发Windows应用程序,在本章中将介绍它们的常用属性、方法、事件及其具体应用。同时,部分实例将界面设计和代码编写结合起来,开发出具有一定功能的Windows应用程序。本章学习目标:(1)理解焦点与Tab键序的概念。(2)熟练掌握窗体、命令按钮、列表框与组合框、DateTimePicker、标签(Label和LinkLabel)、文本框、图片框、Timer、进度条、框架、面板、单选按钮和复选框、TabControl和滚动条等控件的常用属性、方法和事件。1.1焦点与Tab键序在Windows环境下向计算机输入数据时,首先需要选定待输入的位置,输入完一条项目后,可以通过鼠标单击或者使用【Tab】键来改变待输入的位置。在VisualC#2005中,称待输入的位置对应的对象具有焦点,而焦点在对象间移动的顺序称为Tab键序。1.1.1焦点在学习VisualC#2005控件之前,首先要了解与控件紧密相关的焦点的概念。焦点是控件接收鼠标或键盘输入的能力。当对象具有焦点时,可以接收用户的输入,例如:为登录QQ而输入QQ密码时,焦点就在等待输入QQ密码的文本框上。只有当控件的Enabled和Visible属性值均为True时,才可以接收焦点。Enabled属性决定控件是否响应由用户产生的事件,如键盘、鼠标事件;Visible属性决定控件是否可见。但是并非所有的控件都具有接收焦点的能力,如:GroupBox、PictureBox、Timer等控件都不能接收焦点。1.1.2设置焦点使用以下方法可以使对象获得焦点:(1)运行时用鼠标选择对象。(2)运行时用快捷键选择对象。在代码中使用Focus()方法,其语法格式为://**********************************************************************对象.Focus();//**********************************************************************如:“TextBox.Focus();”,该代码的功能是将焦点赋予文本框TextBox。大多数控件得到和失去焦点时的外观是不相同的,如:(1)按钮控件得到焦点后周围会出现一个虚线框。(2)文本框得到焦点后会出现闪烁的光标。1.1.3程序运行时改变焦点的方法程序运行时,可以使用下列方法之一改变焦点:(1)用鼠标单击对象;(2)使用快捷键选择对象;(3)按Tab键或Shift+Tab键在当前窗体的各对象之间巡回移动焦点。1.1.4Tab键序Tab键序是指当用户按下Tab键时,焦点在控件间移动的顺序,每个窗体都有自己的Tab键序。默认状态下的Tab键序跟添加控件的顺序相同。例如在窗体上先后添加了3个命令按钮Button1、Button2和Button3,则程序启动后Button1首先获得焦点,当用户按下Tab键时,焦点依次转移向Button2、Button3,然后再回到Button1,如此循环。具有焦点的控件有两个控制Tab键序的属性,分别是TabIndex和TabStop属性。1.TabIndex属性TabIndex属性决定控件接收焦点的顺序,VisualC#2005按照控件添加的顺序依次将0、1、2、3、……分配给相应控件的TabIndex属性。用户在运行程序时按下Tab键,焦点将根据TabIndex属性值在控件之间转移。如果希望更改Tab键序,可以通过设置TabIndex属性来更改。例如希望焦点直接从Button1转移到Button3,然后再到Button2,则应该将Button2和Button3的TabIndex属性值互换。注意:不能获得焦点的控件及无效或不可见的控件,不具有TabIndex属性,因而不包含在Tab键序中,按Tab键时这些控件将被跳过。2.TabStop属性TabStop属性决定焦点是否能够在该控件上停留。它有True和False两个属性值,默认为True;如果设为False,则焦点不能停在该控件上。例如希望Button2不能接收焦点,只要将Button2的TabStop属性设为False即可,(代码为:Button2.TabStop=false;),这样在按Tab键时将跳过Button2控件,但是它仍然保留在Tab键序中的位置。1.2Form窗体(Form)是Windows应用程序界面的最大容器,它可以容纳其他的一些控件,使用它和其他的Windows控件可以设计出美观的用户界面,下面将介绍窗体的生成方法及其常用的属性、方法和事件。1.2.1生成Form每当用户创建一个新的Windows应用程序时,VisualC#2005会自动生成一个名为Form1的窗体,如图1-1所示。可以通过鼠标的拖拽方法改变窗体的大小,也可以通过窗体的Size属性来修改。图1-1自动生成的Form1窗体很多情况下,一个窗体满足不了应用程序的要求,如学生信息管理应用程序,既要对学生的基本情况进行管理,又要对学生的修读课程以及成绩进行管理等,这时仅使用一个窗体是不合理的。可以通过【项目】→【添加Windows窗体】菜单命令来为应用程序添加一个新的窗体,如图1-2所示。图1-2添加窗体在【名称】后面的文本框中输入新窗体的名称,单击【打开】按钮,新的窗体即生成了,同时可以看到窗体设计器上方多出了一个新生成窗体的选项卡。1.2.2Form常用的属性、方法与事件在VisualC#2005中,一切都是对象,窗体当然也不例外,下面就介绍窗体的一些常用的属性、方法和事件。1.MaximizeBox和MinimizeBox属性MaximizeBox和MinimizeBox属性用于确定窗体标题栏的右上角的最大化、最小化按钮是否可用。它们均有两个值:True和False。True表示最大化、最小化按钮可用,为默认值;False表示不可用。如图1-3表示窗体的最大化按钮不可用的情况,即将其MaximizeBox属性设置成了False。图1-3最大化按钮不可用可以直接在窗体对象的属性窗口中找到“MaximizeBox”属性,然后直接在其中进行设置,如图1-4所示。图1-4设置MaximizeBox属性也可以在程序运行时,使用代码来设置窗体的MaximizeBox属性,其结果与在属性窗口中直接设置一致。例如://**********************************************************************this.MaximizeBox=false;//**********************************************************************2.Size属性Size属性又分成Width和Height两个属性(分别表示窗体的宽度和高度),用于设置窗体的大小,以像索为单位。一般情况下可以通过鼠标的拖拽