列表类控件
十、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 属性:该属性代表选中项(处于选中状态或中间状
态的那些项)索
引的集合。
十、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,如需转载请自行联系原作者