且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

C#窗体控件更新(五)

更新时间:2022-10-02 14:32:44

列表类控件 
十、ListBox 控件 
ListBox 控件又称列表框,它在工具箱中的图标为,它显示一个项目列表供用户选择。在列表框中,用户
一次可以选择一项,也可以选择多项。 
1、常用属性: 
1) Items属性:用于存放列表框中的列表项,
是一个集合。通过该属性,可以添加列表项、
移除列表项和获得列表项的数目。 
2)MultiColumn 属性:用来获取或设置一
个值,该值指示ListBox是否支持多列。值 
 true 时表示支持多列,值为 false 时不支持
多列。当使用多列模式时,可以使控件得以显
示更多可见项,如图9-19 所示。 
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事件在列表框中改变选中项
时发生。 




十一 、ComboBox 控件 
ComboBox 控件又称组合框,在工具箱中的图标为。默认情况下,组合框分两个部分显示:顶部是一个允
许输入文本的文本框,下面的列表框则显示列表项。可以认为ComboBox就是文本框与列表框的组合,与
文本框和列表框的功能基本一致。与列表框相比,组合框不能多选,它无 SelectionMode 属性。但组合框
有一个名为DropDownStyle的属性,该属性用来设置或获取组合框的样式,其取值及含义如表9-10所示。 

组合框的各种样式如图9-22 所示, 左边的组合框能够通过文本框输入文本,中间的组合框则不能输入文本,
只能选择列表项。 



12、CheckedListBox 控件 
CheckedListBox控件又称复选列表框,它扩展了ListBox控件,它几乎
能完成列表框可以完成的所有任务,并且还可以在列表项旁边显示复
选标记。两种控件间的其他差异在于,复选列表框只支持

DrawMode.Normal,并且复选列表框只能有一项选定或没有任何选定。此处需要注意一点:选定的项是指
窗体上突出显示的项,已选中的项是指左边的复选框被选中的项。复选列表框的样式如图9-23所示。 
除具有列表框的全部属性外,它还具有以下属性。 
1)CheckOnClick属性:获取或设置一个值,该值指示当某项被选定时
是否应切换左侧的复选框。如果立即切换选中标记,则该属性值为true;
否则为false。默认值为false。 
2)CheckedItems 属性:该属性是复选列表框中选中项的集合,只代表
处于CheckState. Checked或CheckState.Indeterminate状态的那些项。 该集
合中的索引按升序排列。 
3)CheckedIndices 属性:该属性代表选中项(处于选中状态或中间状
态的那些项)索 
引的集合。 








本文转自 吴雨声 51CTO博客,原文链接:http://blog.51cto.com/liangxiao/719395,如需转载请自行联系原作者