C#窗体控件简介-选项卡控件
在Windows 应用程序中,选项卡用于将相关的控件集中在一起,放在一个页面中用以显示多种综合信息。选项卡控件通常用于显示多个选项卡,其中每个选项卡均可包含图片和其他控件。选项卡相当于多窗体控件,可以通过设置多页面方式容纳其他控件。由于该控件的集约性,使得在相同操作面积可以执行多页面的信息操作,因此被广泛应用于Windows设计开发之中,被很多程序员所喜爱。
选项卡控件(TabControl)的基本属性:
Appearance:选项卡标签的显示样式
MultiLine:指定是否可以显示多行选项卡
SelectedIndex:当前所选选项卡页的索引值,默认值-1
SelectedTab:当前选定的选项卡页,如果未选定,则值为Null引用。
ShowToolTips:指定在鼠标移到选项卡时,是否显示该选项卡的工具提示
TabPages:选项卡集合,可添加修改选项卡
TabCount:检索选项卡控件中的选项卡数目
选项卡控件(TabControl)的基本事件:
SelectedIndexChaned:切换选项卡时触发事件
TabControl的属性一般用于控制TabPage容器的外观,特别是正在显示的选项卡。
属 性------描 述
Alignment
控制标签在标签控件的什么位置显示。默认的位置为控件的顶部
Appearance
控制标签的显示方式。标签可以显示为一般的按钮或带有平面样式
HotTrack
如果这个属性设置为true,则当鼠标指针滑过控件上的标签时,其外观就会改变
Multiline
如果这个属性设置为true,就可以有几行标签
RowCount
返回当前显示的标签行数
SelectedIndex
返回或设置选中标签的索引
SelectedTab
返回或设置选中的标签。注意这个属性在TabPages的实例上使用
TabCount
返回标签的总数
TabPages
这是控件中的TabPage对象集合。使用这个集合可以添加和删除TabPage对象
C#窗体控件-分组框控件GroupBox
GroupBox控件又称为分组框,分组框(GroupBox)是对控件进行分组的控件,可以设置每个组的标题。分组框控件属于容器控件,一般不对该控件编码。
GroupBox控件常常用于逻辑地组合一组控件,如RadioButton 及 CheckBox控件,显示一个框架,其上有一个标题。
组框的用法非常简单,把它拖放到窗体上,再把所需的控件拖放到组框中即可(但其顺序不能颠倒--不能把组框放在已有的控件上面)。其结果是父控件是组框,而不是窗体,所以在任意时刻,可以选择多个RadioButton。但在组框中,一次只能选择一个RadioButton。
这里需要解释一下父控件和子控件的关系。把一个控件放在窗体上时,窗体就是该控件的父控件,所以该控件是窗体的一个子控件。而把一个GroupBox放在窗体上时,它就成为窗体的一个子控件。而组框本身可以包含控件,所以它就是这些控件的父控件,其结果是移动GroupBox时,其中的所有控件也会移动。
把控件放在组框上的另一个结果是可以改变其中所有控件的某些属性,方法是在组框上设置这些属性。例如,如果要禁用组框中的所有控件,只需把组框的Enabled属性设置为false即可。
Windows窗体使用GroupBox控件对控件分组的原因有3个:
对相关窗体元素进行可视化分组以构造一个清晰的用户界面。
创建编程分组(如单选按钮分组)。
设计时将多个控件作为一个单元移动。
分组框常用的属性只有Text,使用该属性修改分组框中的标题。使用分组框创建一组控件的步骤如下:
(1)在窗体上绘制GroupBox控件。
(2)向分组框添加其他控件,在分组框内绘制各个控件。如果将现在控件放到分组框中,可以选定这些控件,将它们剪切到剪贴板,选择GroupBox控件,再将它们粘贴到分组框中。也可以将控件拖到分组框中。
(3)将分组框的Text属性设置为适当标题。
(4)位于分组框中的所有控件随着分组框的移动而一起移动,随着分组框的删除而全部删除,分组框的Visible属性和Enabled属性也会影响到分组框中的所有控件。分组框的最常用的属性是Text,一般用来给出分组提示。
C#窗体控件-列表框控件ListBox
列表框(ListBox)用来显示一组相关联的数据,用户可以从中选择一个或多个选项。ListBox中的数据既可以在设计时填充,也可以在程序运行填充。列表框(ListBox)中的每个元素称为“项”。
列表框用于显示一组字符串,可以一次从中选择一个或多个选项。与复选框和单选按钮一样,列表框也提供了要求用户选择一个或多个选项的方式。在设计期间,如果不知道用户要选择的数值个数,就应使用列表框。(例如一起工作的工人列表框)。即使在设计期间知道所有可能的值,但列表中的值非常多,也应考虑使用列表框。
列表框控件常用属性、方法和事件:
Items:列表框中所有的项。
MultiColumn:列表框是否支持多列显示。
SelectedIndex:当前选定项目的索引项,列表框中的每个项都有一个索引号,从0开始。
SelectedItem:获取当前选定项。
SelectedItems:获取当前所有选定项的值。
SelectedValue:表示当前选定项的值。
Sorted:指定是否支持排序。
Text:当前选定项的文本。
方法:
Add:向ListBox的项列表添加项。
Insert:将项插入列表框的指定索引处。
Clear:从集合中移除所有项。
Remove:从集合中移除指定的对象。
RemoveAt:移除集合中指定索引处的项。
SelectedIndexChanged:选择索引发生改变时触发的事件。
SelectedValueChanged:选择值发生改变时触发的事件。
ListBox控件的属性
属 性
描 述
SelectedIndex
这个值表示列表框中选中项的基于0的
索引。如果列表框可以一次选择多个选项,
这个属性就包含选中列表中的第一个选项
ColumnWidth
在包含多个列的列表框中,这个属性指
定列的宽度
Items
Items集合包含列表框中的所有选项,
使用这个集合的属性可以增加和删除选项
MultiColumn
列表框可以有多个列。使用这个属性可
以获取或设置列表框中列的个数
SelectedIndices
这个属性是一个集合,包含列表框中选
中项的所有基于0的索引
SelectedItem
在只能选择一个选项的列表框中,这个属
性包含选中的选项。在可以选择多个选项
的列表框中,这个属性包含选中项中的第一项
SelectedItems
这个属性是一个集合,包含当前选中的所有选项
SelectionMode
在列表框中,可以使用ListSelectionMode
枚举中的4种选择模式:
●None: 不能选择任何选项
●One: 一次只能选择一个选项
● MultiSimple: 可以选择多个选项。使用这个模式,在单击列表中的一项时,该项就会被选中,即使单击另一项,该项也仍保持选中状态,除非再次单击它
●MultiExtended: 可以选择多个选项,用户还可以使用Ctrl、Shift和箭头键
进行选择。它与MultiSimple不同,如果先单击一项,然后单击另一项,则只选中第二个单击的项
Sorted
把这个属性设置为true,会使列表框对它包
含的选项按照字母顺序排序
Text
许多控件都有Text属性。但这个Text属性与其他控件的Text属性大不相同。如果设置列表框控件的Text属性,它将搜索匹配该文本的选项,并选择该选项。如果获取Text属性,返回的值是列表中第一个选中的选项。如SelectionMode是None,就不能使用这个属性
ListBox控件的方法
方 法
描 述
ClearSelected()
清除列表框中的所有选项
FindString()
查找列表框中第一个以指定字符串开头的字符串,例如FindString("a")就是查找列表框中第一个以a开头的字符串
FindStringExact()
与FindString 类似,但必须匹配整个字符串
GetSelected()
返回一个表示是否选择一个选项的值
SetSelected()
设置或清除选项
ToString()
返回当前选中的选项
ListBox控件的事件:SelectedIndexChanged在选中选项的索引改变时引发该事件
ListBox 控件又称列表框,它在工具箱中的图标为,它显示一个项目列表供用户选择。在列表框中,用户
一次可以选择一项,也可以选择多项。
1、常用属性:
(1)Items属性: 用于存放列表框中的列表项,是一个集合。通过该属性,可以添加列表项、移除列表项和获得列表项的数目。
(2)MultiColumn 属性:用来获取或设置一个值,该值指示ListBox是否支持多列。值为 true 时表示支持多列,值为 false 时不支持多列。当使用多列模式时,可以使控件得以显示更多可见项。
(3)ColumnWidth 属性:用来获取或设置多列 ListBox控件中列的宽度。
(4)SelectionMode属性:用来获取或设置在ListBox控件中选择列表项的方法。当 SelectionMode属性设置为 SelectionMode.MultiExtended 时,按下 Shift 键的同时单击鼠标或者同时按 Shift 键和箭头键之一(上箭头键、下箭头键、左箭头键和右箭头键),会将选定内容从前一选定项扩展到当前项。按 Ctrl 键的同时单击鼠标将选择或撤销选择列表中的某项;当该属性设置为SelectionMode.MultiSimple 时,鼠标单击或按空格键将选择或撤销选择列表中的某项;该属性的默认值为SelectionMode.One,则只能选择一项。
(5)SelectedIndex属性:用来获取或设置ListBox控件中当前选定项的从零开始的索引。如果未选定任何项,则返回值为1。对于只能选择一项的ListBox控件,可使用此属性确定ListBox中选定的项的索引。如果 ListBox 控件的 SelectionMode 属性设置为 SelectionMode.MultiSimple 或 SelectionMode.MultiExtended,并在该列表中选定多个项,此时应用SelectedIndices来获取选定项的索引。
(6)SelectedIndices。该属性用来获取一个集合,该集合包含 ListBox 控件中所有选定项的从零开始的索引。
(7)SelectedItem属性:获取或设置ListBox中的当前选定项。
(8)SelectedItems属性:获取 ListBox控件中选定项的集合,通常在ListBox控件的SelectionMode属性值设置为SelectionMode.MultiSimple或SelectionMode.MultiExtended(它指示多重选择ListBox)时使用。
(9)Sorted属性:获取或设置一个值,该值指示ListBox控件中的列表项是否按字母顺序排序。如果列表项按字母排序,该属性值为true;如果列表项不按字母排序,该属性值为false。默认值为false。在向已排序的 ListBox控件中添加项时,这些项会移动到排序列表中适当的位置。
(10)Text 属性:该属性用来获取或搜索 ListBox 控件中当前选定项的文本。当把此属性值设置为字符串值时,ListBox 控件将在列表内搜索与指定文本匹配的项并选择该项。若在列表中选择了一项或多项,该属性将返回第一个选定项的文本。
(11)ItemsCount属性:该属性用来返回列表项的数目。
2、常用方法:
(1)FindString方法:用来查找列表项中以指定字符串开始的第一个项,有两种调用格式。
[格式1]:
ListBox对象.FindString(s);
[功能]:在“ListBox 对象”指定的列表框中查找字符串 s,如果找到则返回该项从零开始的索引;如果找
不到匹配项,则返回ListBox.NoMatches。
[格式2]:
ListBox对象.FindString(s,n);
[功能]:在 ListBox 对象指定的列表框中查找字符串 s,查找的起始项为n+1,即 n 为开始查找的前一项的
索引。如果找到则返回该项从零开始的索引;如果找不到匹配项,则返回ListBox.NoMatches。
注意:FindString 方式只是词语部分匹配,即要查找的字符串在列表项的开头,便认为是匹配的,如果要
精确匹配,即只有在列表项与查找字符串完全一致时才认为匹配,可使用FindStringExact方法,调用格式
与功能与FindString基本一致。
(2)SetSelected方法:用来选中某一项或取消对某一项的选择,调用格式及功能如下。
[格式]:
ListBox对象.SetSelected(n,l);
[功能]:如果参数 l 的值是 true,则在 ListBox 对象指定的列表框中选中索引为 n 的列表项,如果参数l 的
值是 false,则索引为n 的列表项未被选中。
(3)Items.Add方法:用来向列表框中增添一个列表项,调用格式及功能如下。
[格式]:
ListBox对象.Items.Add(s);
[功能]:把参数s添加到“listBox对象”指定的列表框的列表项中。
(4)Items.Insert方法:用来在列表框中指定位置插入一个列表项,调用格式及功能如下。
[格式]:
ListBox对象.Items.Insert(n,s);
[功能]:参数n代表要插入的项的位置索引,参数 s代表要插入的项,其功能是把s插入到“listBox对象”
指定的列表框的索引为n的位置处。
(5)Items.Remove方法:用来从列表框中删除一个列表项,调用格式及功能如下。
[格式]:
ListBox对象.Items.Remove(k);
[功能]:从 ListBox对象指定的列表框中删除列表项s。
(6)Items.Clear方法:用来清除列表框中的所有项。其调用格式如下:
ListBox对象.Items.Clear();
该方法无参数。
(7)BeginUpdate方法和EndUpdate方法:这两个方法均无参数,调用格式分别如下:
ListBox对象.BeginUpdate();
ListBox对象.EndUpdate();
这两个方法的作用是保证使用 Items.Add 方法向列表框中添加列表项时,不重绘列表框。即在向列表框添加项之前,调用BeginUpdate方法,以防止每次向列表框中添加项时都重新绘制 ListBox 控件。完成向列表框中添加项的任务后,再调用 EndUpdate 方法使 ListBox 控件重新绘制。当向列表框中添加大量的列表项时,使用这种方法添加项可以防止在绘制 ListBox 时的闪烁现象。
一个例子程序如下:
publicvoidAddToMyListBox()
{listBox1.BeginUpdate();
for(intx=1;x<5000;x++)
{
listBox1.Items.Add("Item"+x.ToString());
}
listBox1.EndUpdate();
}
ListBox控件常用事件有Click和 SelectedIndexChanged,SelectedIndexChanged事件在列表框中改变选中项
时发生。
C#窗体控件-图片框控件PictureBox
Windows窗体图片控件(PictureBox)用于显示位图、GIF、JPEG、图元文件或图标格式的图形。图片框控件表示可用于显示图像的Windows 图片框控件,该控件是使用频度最高的控件,主要用以显示窗体文本信息。
图片框控件(PictureBox)的属性、方法和事件
属性---说明
Image
用于指定图片框显示的图像。该图像可在设计或运行时设置
SizeMode
用于指定图像的显示方式。可以指定的各种大小模式包括AutoSize、CenterImage、Normal 和StretchImage。默认值为Normal
方法---说明
Show
是否显示控件
Show
相当于将控件的Visible 属性设置为True 并显示控件
事件---说明
Click
用户单击控件时将发生该事件
设置图片实例:
pictureBox1.Image = Image.FromFile(@"D:\我的文档1\My Pictures\tmpPic.jpg");