1、 15.1 控件与组件概述控件与组件概述 15.2 常用基本控件常用基本控件 15.3 常用容器控件常用容器控件 15.4 小结小结15.1 控件与组件概述 在在.NET Framework中,组件是指实现中,组件是指实现System.ComponentModel.IComponent接口的一个类,接口的一个类,或是从实现或是从实现IComponent接口的类中直接或间接派生出的接口的类中直接或间接派生出的类。类。Visual Studio 2008提供了一系列常用组件,如提供了一系列常用组件,如BackgroundWorker组件、组件、Timer组件、组件、ErrorProvider组件等
2、,用户也可以自行创建组件。组件等,用户也可以自行创建组件。控件是用于提供(或实现)用户界面(控件是用于提供(或实现)用户界面(UI)功能的组件。)功能的组件。因此可以说,每个控件都是一个组件,但并不是每个组件因此可以说,每个控件都是一个组件,但并不是每个组件都可以作为控件。都可以作为控件。.NET Framework专门为控件提供了两个基类,一个用于专门为控件提供了两个基类,一个用于Windows窗体控件,另一个用于窗体控件,另一个用于ASP.NET服务器控件。服务器控件。Visual Studio 2008提供了一些常用控件,如提供了一些常用控件,如Label控件、控件、Button控件、控
3、件、TextBox控件等,读者也可以自己创建控件。控件等,读者也可以自己创建控件。15.2 常用基本控件15.2.1 Label控件Label控件是控件是Visual C#.Net的的Windows Forms控件中一种常用基本控件,又称标控件中一种常用基本控件,又称标签控件。标签控件通常是只读的,用户无签控件。标签控件通常是只读的,用户无法对其进行编辑,被用于显示用户不能编法对其进行编辑,被用于显示用户不能编辑的文本或图像,即用于标识窗体上的对辑的文本或图像,即用于标识窗体上的对象。象。加载加载Label控件控件:在工具箱中,:在工具箱中,Label控件控件的图标是的图标是用户双击或拖动工具
4、箱中的用户双击或拖动工具箱中的Label控件,便控件,便可将可将Label控件加载到窗体上。控件加载到窗体上。15.2.1 Label控件Label控件的属性控件的属性:Text属性:用于设置标签控件显示的文本属性:用于设置标签控件显示的文本内容。内容。TextAlign属性:用于设置标签中文本的对属性:用于设置标签中文本的对齐方式。齐方式。AutoSize 属性:用于设置标签控件,使其属性:用于设置标签控件,使其动态调整大小以适应其内容。动态调整大小以适应其内容。Visible属性:用于设置标签控件是否可见,属性:用于设置标签控件是否可见,包含有包含有true和和false两个属性值。两个属
5、性值。15.2.1 Label控件BorderStyle属性:用于设置标签的边框样属性:用于设置标签的边框样式,取值为式,取值为BorderStyle枚举枚举。TabIndex属性:用于设置标签的属性:用于设置标签的Tab键顺键顺序。当使用序。当使用【Tab】键访问控件时,键访问控件时,Tab键键顺序越靠前的控件越先被访问。顺序越靠前的控件越先被访问。UseMnemonic属性:用于设置是否将控件属性:用于设置是否将控件的的Text属性中的属性中的“&”符号解释为访问键前符号解释为访问键前缀字符,默认值为缀字符,默认值为true。15.2.2 textBox控件textBox控件是工具箱中最常
6、用的控件之一,又控件是工具箱中最常用的控件之一,又称文本框控件,通常用于获取用户输入或显示称文本框控件,通常用于获取用户输入或显示文本内容文本内容在工具箱中,在工具箱中,textBox控件的图标为控件的图标为textBox控件属性:控件属性:Text属性:用于设置文本控件显示的文本内容。默认属性:用于设置文本控件显示的文本内容。默认情况下,最多可在一个文本框中输入情况下,最多可在一个文本框中输入2048个字符。个字符。如果将如果将Multiline 属性设置为属性设置为true,则最多可输入,则最多可输入32KB的文本。的文本。Multiline属性:用于设置文本框中的内容是否允许输属性:用于
7、设置文本框中的内容是否允许输入和显示多行文本,包含入和显示多行文本,包含true和和false两个属性值。两个属性值。MaxLength属性:用于设置文本框内最多允许的字属性:用于设置文本框内最多允许的字符数。符数。15.2.2 textBox控件ReadOnly属性:用于设置文本框中的内容是否属性:用于设置文本框中的内容是否允许被改动,包含有允许被改动,包含有true和和false两个属性。两个属性。PasswordChar属性:用于设置密码框属性,当属性:用于设置密码框属性,当用户不希望他人看到用户的密码时,则可设置该用户不希望他人看到用户的密码时,则可设置该属性。属性。WordWrap属
8、性:用于设置文本框中的内容是否属性:用于设置文本框中的内容是否允许换行,包含允许换行,包含true和和false两个属性值。两个属性值。ScrollBars属性:用于设置文本框的滚动条模式,属性:用于设置文本框的滚动条模式,取值为取值为ScrollBars枚举。枚举。15.2.2 textBox控件控件添加事件的方式控件添加事件的方式:双击控件只能添加该控件常用的一种事件。对双击控件只能添加该控件常用的一种事件。对于控件的其他事件就需要使用于控件的其他事件就需要使用【属性属性】窗口中窗口中的事件按钮的事件按钮 来添加事件。来添加事件。步骤:步骤:将将textBox控件添加到窗体上后,右击控件添
9、加到窗体上后,右击textBox控件,在右键快捷菜单中单击控件,在右键快捷菜单中单击【属性属性】命令,命令,弹出弹出【属性属性】窗口。窗口。在其中单击事件按钮,便可显示在其中单击事件按钮,便可显示textBox控件控件所有的事件,选中所有的事件,选中KeyPress事件,双击即可事件,双击即可添加该事件。添加该事件。15.2.2 textBox控件textBox控件的事件:控件的事件:TextChanged事件:当用户在文本框中输入新事件:当用户在文本框中输入新信息或改变了信息或改变了Text属性值时,触发该事件。属性值时,触发该事件。KeyPress事件:当用户在文本框具有焦点时事件:当用户
10、在文本框具有焦点时按任意键,均会触发该事件。按任意键,均会触发该事件。GotFocus事件:当用户单击该控件或者按事件:当用户单击该控件或者按【Tab】键时控件获得焦点,触发该事件。键时控件获得焦点,触发该事件。textBox控件的方法:控件的方法:15.2.2 textBox控件 textBox控件的方法控件的方法:Select()方法:用于选择文本框中的内容。其语法形式如下:方法:用于选择文本框中的内容。其语法形式如下:public void Select(int start,int length)Copy()方法:用于将文本框中的当前选定内容复制到剪贴板中。方法:用于将文本框中的当前选定
11、内容复制到剪贴板中。public void Copy()使用方式如下:使用方式如下:textBox1.Copy();Cut()方法:用于将文本框中的当前选定内容移动到剪贴板,方法:用于将文本框中的当前选定内容移动到剪贴板,public void Cut()使用方式如下。使用方式如下。textBox1.Cut();Paste()方法:用于将文本框中的当前选定内容用剪贴板中的内容替换。方法:用于将文本框中的当前选定内容用剪贴板中的内容替换。public void Paste()使用方式如下。使用方式如下。Textbox1.Paste();Clear()方法:用于清空文本框,其语法形式如下。方法:用
12、于清空文本框,其语法形式如下。public void Clear()15.2.3 Button控件Button控件是控件是Visual C#.Net的的Windows Forms控件中一种常用基本控件,又称为控件中一种常用基本控件,又称为按钮控件。它既可以使用按钮控件。它既可以使用Text属性显示文属性显示文本,也可以使用本,也可以使用Image属性和属性和ImageList属属性显示图像。性显示图像。在工具箱中,在工具箱中,Button控件的图标为控件的图标为Button控件的属性控件的属性:Text、Image、ImageList、Font、BackColor、Enable、FlatSty
13、le。15.2.3 Button控件Button控件的事件如下。控件的事件如下。Click事件:当用户单击命令按钮时,触发该事事件:当用户单击命令按钮时,触发该事件。件。MouseDown事件:当光标位于命令按钮上并事件:当光标位于命令按钮上并且按下鼠标时,触发该事件。且按下鼠标时,触发该事件。MouseUp事件:当光标位于命令按钮上并且事件:当光标位于命令按钮上并且释放鼠标时,触发该事件。释放鼠标时,触发该事件。15.2.4 CheckBox控件和RadioButton控件 CheckBox控件又称复选框,用于指示某控件又称复选框,用于指示某个特定条件是处于打开状态还是处于关闭个特定条件是处
14、于打开状态还是处于关闭状态。状态。RadioButton控件又称单选按钮或选项按控件又称单选按钮或选项按钮钮。通常将多个单选按钮放在一个。通常将多个单选按钮放在一个GroupBox或或Panel容器控件内组成一组,容器控件内组成一组,这一组中的单选按钮之间是互斥的,只允这一组中的单选按钮之间是互斥的,只允许用户从中选择一个,其他单选按钮将自许用户从中选择一个,其他单选按钮将自动处于未选中状态。动处于未选中状态。15.2.4 CheckBox控件和RadioButton控件CheckBox控件和控件和RadioButton控件的属性控件的属性 Text:设置或获取控件显示的标题内容:设置或获取控
15、件显示的标题内容 。TextAlign:设置:设置Text值的对齐方式值的对齐方式。Checked:设置或获取按钮是否被选择:设置或获取按钮是否被选择。CheckAlign:设置控件中的:设置控件中的 或或 在控件中的位置。在控件中的位置。FlatStyle:设置按钮的样式:设置按钮的样式 。CheckBox控件和控件和RadioButton控件的事件控件的事件Click事件:当用户单击控件时,触发事件:当用户单击控件时,触发Click事件事件。CheckedChanged事件:当事件:当Checked值改变时,触发值改变时,触发CheckedChanged事件事件。ComboBox控件和控件
16、和ListBox控件都是列表控件都是列表选择控件,主要用于列出提供用户选择的选择控件,主要用于列出提供用户选择的列表,用户可以从中选择一个或多个选项。列表,用户可以从中选择一个或多个选项。它们均派生于它们均派生于ListControl类,该类提供类,该类提供了一些基本的列表管理功能。了一些基本的列表管理功能。ListBox又称为列表框,显示一个项列表,又称为列表框,显示一个项列表,用户可从中选择一项或多项。用户可从中选择一项或多项。ComboBox又称组合框,分两个部分显又称组合框,分两个部分显示,顶部是一个允许用户输入列表项的文示,顶部是一个允许用户输入列表项的文本框;下面是一个列表框,它显
17、示一个项本框;下面是一个列表框,它显示一个项列表,用户可从中选择一项。列表,用户可从中选择一项。15.2.5 ComboBox控件和ListBox控件ListBox控件的属性控件的属性:MultiColumn属性:设置列表框是否支持多行显示。属性:设置列表框是否支持多行显示。ScrollAlwaysVisible属性:设置滚动条是否显示。属性:设置滚动条是否显示。SelectionMode属性:设置一次可以选择多少列表项。属性:设置一次可以选择多少列表项。(None,One,MultiSimple,MultiExtended)Sorted属性:设置列表框中的各项是否按字母顺序排属性:设置列表框
18、中的各项是否按字母顺序排序序。Items属性:设置存储在列表框中的所有项,是一个集属性:设置存储在列表框中的所有项,是一个集合属性,完成列表框的数据添加工作。合属性,完成列表框的数据添加工作。15.2.5 ComboBox控件和ListBox控件SelectedIndex属性:获取当前选定项的索属性:获取当前选定项的索引,只能在程序中使用该属性。引,只能在程序中使用该属性。listBox1.ItemslistBox1.SelectedIndexSelectedItems属性:当列表框允许选择多属性:当列表框允许选择多项时,此属性返回一个集合,该集合包含项时,此属性返回一个集合,该集合包含列表框
19、中选定的所有项。列表框中选定的所有项。SelectedIndices属性:当列表框允许选择属性:当列表框允许选择多项时,此属性返回一个集合,该集合包多项时,此属性返回一个集合,该集合包含列表框中选定所有项的索引。含列表框中选定所有项的索引。Text属性:该属性存放列表框中当前选定属性:该属性存放列表框中当前选定项的文本项的文本 15.2.5 ComboBox控件和ListBox控件15.2.5 ComboBox控件和ListBox控件ListBox控件的事件控件的事件:SelectedIndexChanged当当SelectedIndex属属性变化时触发该事件。性变化时触发该事件。ListBo
20、x控件的方法控件的方法:Add、Insert、Clear、Remove、SetSelected、FindString 15.2.5 ComboBox控件和ListBox控件ComboBox控件的属性控件的属性:DropDownStyle属性:设置组合框的样式,取属性:设置组合框的样式,取值于值于DropDownStyle枚举枚举。SelectedText属性:设置或获取组合框的文本属性:设置或获取组合框的文本框内所选定的文本框内所选定的文本。SelectedItem属性:获取组合框内所选定的选属性:获取组合框内所选定的选项。项。MaxDropDownItems属性:设置或获取组合属性:设置或获
21、取组合框中下拉部分中显示的最大项数目框中下拉部分中显示的最大项数目。取值介于。取值介于1和和100之间,超过这两个值均会弹出之间,超过这两个值均会弹出“属性值属性值无效无效”提示框。提示框。15.2.5 ComboBox控件和ListBox控件ComboBox控件的事件控件的事件:DropDown事件:当显示组合框的下拉部分时事件:当显示组合框的下拉部分时触发该事件,也可以认为是单击下拉箭头时发触发该事件,也可以认为是单击下拉箭头时发生。生。DropDownClosed事件:当组合框的下拉部分事件:当组合框的下拉部分不再可见时触发该事件。不再可见时触发该事件。ComboBox控件的方法控件的方
22、法:Add、Insert、Clear、Remove 15.2.6 DateTimePicker控件 Windows窗体的窗体的DateTimePicker 控件使控件使用户可以从日期或时间列表中选择单个项。用户可以从日期或时间列表中选择单个项。控件外观控件外观15.2.6 DateTimePicker控件DateTimePicker控件的属性控件的属性:Format属性:设置显示时间的格式,取值于属性:设置显示时间的格式,取值于DateTimePickerForm枚举。枚举。Value属性:显示当前时间属性:显示当前时间。ShowCheckBox属性:设置是否在控件中的属性:设置是否在控件中的
23、选定日期旁边显示一个复选框选定日期旁边显示一个复选框。CustomFormat属性:设置或获取自定义的日属性:设置或获取自定义的日期时间格式字符串,当期时间格式字符串,当Format属性为属性为Custom时,该属性有效。时,该属性有效。15.2.7 PictureBox控件PictureBox控件又称图片框,用于显示图像。在控件又称图片框,用于显示图像。在工具箱中,工具箱中,PictureBox控件的图标为控件的图标为 PictureBox控件的属性:控件的属性:Name属性:设置属性:设置PictureBox控件的名称。控件的名称。Visible属性:设置属性:设置PictureBox控件
24、是否可见,控件是否可见,Image属性:设置控件显示的图像,是一个对象属性,属性:设置控件显示的图像,是一个对象属性,可在运行时或设计时设置。可在运行时或设计时设置。ImageLocation属性:设置或获取要在图片框中显示属性:设置或获取要在图片框中显示的图像的路径。的图像的路径。SizeMode属性:设置图片在控件中显示的大小或位置。属性:设置图片在控件中显示的大小或位置。15.2.7 PictureBox控件使用使用PictureBox控件加载图像控件加载图像 在窗体上放置在窗体上放置PictureBox控件。控件。在在【属性属性】窗口中选择窗口中选择Image属性,然后单击属性,然后单
25、击省略号按钮以显示省略号按钮以显示【打开打开】窗口。窗口。如果要查找特定文件类型(如如果要查找特定文件类型(如GIF文件),可文件),可以在以在【文件类型文件类型】列表框中选择相应的类型列表框中选择相应的类型.选择要显示的图片文件。选择要显示的图片文件。15.2.8 ProgressBar控件ProgressBar控件又称为进度条,它负责控件又称为进度条,它负责指示进度,进度完成时,进度条被填满。指示进度,进度完成时,进度条被填满。ProgressBar控件的属性控件的属性:Minimum属性:设置进程指示器的最左端,默认值为属性:设置进程指示器的最左端,默认值为0。Maximum属性:设置进
26、程指示器的最右端,默认值为属性:设置进程指示器的最右端,默认值为100。Value属性:表示操作过程中已完成的进度。属性:表示操作过程中已完成的进度。Step属性:除直接设置属性:除直接设置Value属性外,还可以通过设置属性外,还可以通过设置Step属性值来指定属性值来指定Value属性递增的值,以便修改属性递增的值,以便修改ProgressBar控件显示的值,默认值为控件显示的值,默认值为10。15.2.8 ProgressBar控件ProgressBar控件的方法控件的方法PerformStep()方法:按照方法:按照Step属性中指定的属性中指定的数量增加进度条的值,使进程条按固定值递
27、增,数量增加进度条的值,使进程条按固定值递增,其语法形式如下。其语法形式如下。public void PerformStep()Increment()方法:使显示值按指定的整数进方法:使显示值按指定的整数进行更改,使进度条按动态值递增,其语法形式行更改,使进度条按动态值递增,其语法形式如下。如下。public void Increment(int value)其中,其中,value为动态变化的整数,指示进度条递增为动态变化的整数,指示进度条递增的进度。的进度。15.2.9 WebBrowser控件WebBrowser控件又称为网页浏览器,它控件又称为网页浏览器,它为为WebBrowser Ac
28、tiveX控件提供了托管控件提供了托管包装。托管包装使用户可以在包装。托管包装使用户可以在Windows窗窗体客户端应用程序中显示网页。体客户端应用程序中显示网页。WebBrowser控件的属性如下。控件的属性如下。Url属性:更新地址栏获取或设置当前网页的属性:更新地址栏获取或设置当前网页的URL。DocumentTitle属性:设置更新标题栏。属性:设置更新标题栏。ScrollBarsEnabled属性:设置网页显示框是属性:设置网页显示框是否显示滚动条否显示滚动条。15.2.9 WebBrowser控件WebBrowser控件的事件如下。控件的事件如下。Navigated事件:在事件:在
29、WebBrowser控件导航到控件导航到新文档并开始加载该文档时发生。新文档并开始加载该文档时发生。DocumentCompleted事件:网页完成加载时事件:网页完成加载时触发该事件。触发该事件。WebBrowser控件的方法控件的方法:Navigate、GoForward、GoBack、Refresh、GoHome。15.3 常用容器控件15.3.1 GroupBox控件GroupBox控件用于为其他控件提供可识别控件用于为其他控件提供可识别的分组,又称容器控件的分组,又称容器控件。分组框内的每个。分组框内的每个控件可以方便地移动,当移动分组框时,控件可以方便地移动,当移动分组框时,其中包
30、含的所有控件也跟着一起移动。其中包含的所有控件也跟着一起移动。GroupBox控件的主要属性如下。控件的主要属性如下。Text属性:设置容器控件的标题。属性:设置容器控件的标题。Visible属性:设置容器控件是否可见。属性:设置容器控件是否可见。15.3.2 Panel控件 Panel控件又称为面板控件,该控件类似控件又称为面板控件,该控件类似于于GroupBox控件,但控件,但Panel 控件没有控件没有Text属性,不能像容器控件一样设置标题,属性,不能像容器控件一样设置标题,但但Panel控件可以有滚动条。当用户禁用控件可以有滚动条。当用户禁用面板时,该面板上的所有控件都将被禁用。面板
31、时,该面板上的所有控件都将被禁用。Panel控件也是下面将要介绍的控件也是下面将要介绍的FlowLayoutPanel、TabControl和和SplitContainer的基类。的基类。Panel控件的属性控件的属性:AutoScroll、BackColor、BackgroundImage、BackgroundImage、Layout、BorderStyle。15.3.3 FlowLayoutPanel控件FlowLayoutPanel控件,又称布局面板控件,又称布局面板。FlowLayoutPanel控件的主要属性如下。控件的主要属性如下。FlowDirection属性:设置流方向,即布局
32、面属性:设置流方向,即布局面板上各控件的排列方向。板上各控件的排列方向。WrapContents属性:设置是换行还是剪裁控属性:设置是换行还是剪裁控件的内容。件的内容。AutoSize属性:设置是否可以自动调整控件的属性:设置是否可以自动调整控件的内容。内容。FlowBreak属性:取值为属性:取值为true时,控件停止在时,控件停止在当前流方向布局控件,并切换到下一行或下一当前流方向布局控件,并切换到下一行或下一列。列。15.3.4 TabControl控件TabControl控件可以显示出多个选项卡,用于控件可以显示出多个选项卡,用于包含图片或按有组织的方式显示其他控件。这包含图片或按有组
33、织的方式显示其他控件。这些选项卡类似于笔记本中的分隔卡和档案柜文些选项卡类似于笔记本中的分隔卡和档案柜文件夹中的标签。件夹中的标签。TabControl控件的常用属性:控件的常用属性:Multiline属性:设置是否可以创建多行选项卡。属性:设置是否可以创建多行选项卡。Alignment属性:设置在控件的哪一侧排列选项卡,属性:设置在控件的哪一侧排列选项卡,包含包含Left 和和 Right两个取值。两个取值。TabPages属性:它是控件中的属性:它是控件中的TabPage对象集合。对象集合。使用该集合可以添加和删除选项卡对象。使用该集合可以添加和删除选项卡对象。15.3.5 SplitCo
34、ntainer控件 SplitContainer控件可视为一个复合体,控件可视为一个复合体,由由3部分组合而成,分别为两个面板控件部分组合而成,分别为两个面板控件以及它们中间一个可移动的拆分条。当光以及它们中间一个可移动的拆分条。当光标悬停在该拆分条上时,指针将相应地改标悬停在该拆分条上时,指针将相应地改变形状以提示该拆分条可移动。变形状以提示该拆分条可移动。15.3.5 SplitContainer控件SplitContainer控件的常用属性如下。控件的常用属性如下。Orientation属性:设置控件拆分的模式。属性:设置控件拆分的模式。FixedPanel属性:设置控件的大小。该属性决
35、定调整属性:设置控件的大小。该属性决定调整SplitContainer控件大小后,哪个面板将保持原来的大控件大小后,哪个面板将保持原来的大小。小。IsSplitterFixed属性:设置控件的移动情况。该属性决属性:设置控件的移动情况。该属性决定是否可以通过键盘或鼠标来移动拆分器。定是否可以通过键盘或鼠标来移动拆分器。SplitterDistance属性:设置从左边缘或上边缘到可移属性:设置从左边缘或上边缘到可移动拆分条的距离(以像素为单位)。动拆分条的距离(以像素为单位)。SplitContainer控件的事件控件的事件:SplitterMoving、SplitterMoved。15.4 小结本章介绍了本章介绍了Visual Studio 2008中常用的基中常用的基本控件、常用容器控件的相关基础知识,本控件、常用容器控件的相关基础知识,并分别介绍了各控件的相关属性、方法及并分别介绍了各控件的相关属性、方法及事件。下章将继续介绍较复杂的一些控件、事件。下章将继续介绍较复杂的一些控件、组件以及菜单、工具栏、状态栏、组件以及菜单、工具栏、状态栏、MDI等。等。