摘要
显示一个 ListBox,其中在每项的左边显示一个复选框。
正文
属性
AllowSelection | 获取一个值,该值指示 ListBox 当前是否启用了列表项的选择。 |
Anchor | 获取或设置控件绑定到的容器的边缘并确定控件如何随其父级一起调整大小。 |
AutoScrollOffset | 获取或设置一个值,该值指示在 ScrollControlIntoView(Control) 中将控件滚动到何处。 |
AutoSize | 此属性与此类无关。 |
BackColor | 获取或设置控件的背景色。 |
BackgroundImage | 此属性与此类无关。 |
BackgroundImageLayout | 按照 ListBox 枚举中的定义获取或设置 ImageLayout 的背景图像布局。 |
BindingContext | 获取或设置控件的 BindingContext。 |
BorderStyle | 获取或设置在 ListBox 四周绘制的边框的类型。 |
Bottom | 获取控件上边缘与其容器工作区的上边缘之间的距离(以像素为单位)。 |
CausesValidation | 获取或设置一个值,该值指示控件是否会引起在任何需要在接收焦点时执行验证的控件上执行验证。 |
CheckedIndices | 该 CheckedListBox 中选中索引的集合。 |
CheckedItems | 该 CheckedListBox 中选中项的集合。 |
CheckOnClick | 获取或设置一个值,该值指示当选定项时是否应切换复选框。 |
ClientRectangle | 获取表示控件的工作区的矩形。 |
ClientSize | 获取或设置控件的工作区的高度和宽度。 |
ColumnWidth | 获取或设置多列 ListBox 中列的宽度。 |
DataManager | 获取与此控件关联的 CurrencyManager。 |
DataSource | 获取或设置控件的数据源。 |
DefaultSize | 获取控件的默认大小。 |
DisplayMember | 获取或设置一个字符串,该字符串指定要显示其内容的列表框中所含对象的属性。 |
DisplayRectangle | 获取表示控件的显示区域的矩形。 |
Font | 获取或设置控件显示的文字的字体。 |
FontHeight | 获取或设置控件的字体的高度。 |
ForeColor | 获取或设置控件的前景色。 |
FormatInfo | 获取或设置提供自定义格式设置行为的 IFormatProvider。 |
FormatString | 获取或设置指示显示值的方式的格式说明符字符。 |
FormattingEnabled | 获取或设置一个值,该值指示是否将格式设置应用于 DisplayMember 的 ListControl 属性。 |
HorizontalExtent | 获取或设置 ListBox 的水平滚动条可滚动的宽度。 |
HorizontalScrollbar | 获取或设置一个值,该值指示是否在控件中显示水平滚动条。 |
IntegralHeight | 获取或设置一个值,该值指示控件是否应调整大小以避免只显示项的局部。 |
ItemHeight | 获取项区域的高度。 |
Items | 获取该 CheckedListBox 中项的集合。 |
MultiColumn | 获取或设置一个值,该值指示 ListBox 是否支持多列。 |
PreferredHeight | 获取 ListBox 中所有项的组合高度。 |
RightToLeft | 获取或设置一个值,该值指示由控件显示的文本是否从右向左显示。 |
ScrollAlwaysVisible | 获取或设置一个值,该值指示是否任何时候都显示垂直滚动条。 |
SelectedIndex | 获取或设置 ListBox 中当前选定项的从零开始的索引。 |
SelectedIndices | 获取一个集合,该集合包含 ListBox 中所有当前选定项的从零开始的索引。 |
SelectedItem | 获取或设置 ListBox 中的当前选定项。 |
SelectedItems | 获取包含 ListBox 中当前选定项的集合。 |
SelectedValue | 获取或设置由 ValueMember 属性指定的成员属性的值。 |
SelectionMode | 获取或设置指定选择模式的值。 |
Sorted | 获取或设置一个值,该值指示 ListBox 中的项是否按字母顺序排序。 |
Text | 获取或搜索 ListBox 中当前选定项的文本。 |
ThreeDCheckBoxes | 获取或设置一个值,该值指示复选框是否有 Flat 或 Normal 的 ButtonState。 |
TopIndex | 获取或设置 ListBox 中第一个可见项的索引。 |
UseCompatibleTextRendering | 获取或设置一个值,该值确定是使用Graphics类 (GDI+) 还是TextRenderer类 (GDI) 来呈现文本。 |
UseCustomTabOffsets | 获取或设置一个值,它指示 ListBox 在通过使用 CustomTabOffsets 整数数组绘制字符串时是否识别并展开制表符。 |
UseTabStops | 获取或设置一个值,该值指示 ListBox 在绘制其字符串时是否可识别和展开制表符。 |
ValueMember | 获取或设置一个字符串,该字符串指定要从中取值的数据源的属性。 |
DisplayMember | 获取或设置一个字符串,该字符串指定要显示其内容的列表框中所含对象的属性。 |
方法
BeginUpdate() | 当向 ListBox 中一次添加一个项时,通过防止该控件绘图来维护性能,直到调用 EndUpdate() 方法为止。 |
BringToFront() | 将控件带到 Z 顺序的前面。 |
ClearSelected() | 取消选择 ListBox 中的所有项。 |
CreateItemCollection() | 创建项集合的新实例。 |
CreateObjRef(Type) | 创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 |
EndUpdate() | 在 BeginUpdate() 方法挂起绘制后,该方法恢复绘制 ListBox 控件。 |
Equals(Object) | 确定指定对象是否等于当前对象。 |
FilterItemOnProperty(Object) | 如果 ListControl 项是被给定了该项的对象的属性,则检索该项的当前值。 |
FilterItemOnProperty(Object, String) | 如果 ListControl 项是被给定了该项以及属性名称的对象的属性,则返回该项的当前值。 |
FindForm() | 检索控件所在的窗体。 |
FindString(String) | 查找 ListBox 中以指定字符串开始的第一个项。 |
FindString(String, Int32) | 查找 ListBox 中以指定字符串开始的第一个项。 搜索从特定的起始索引处开始。 |
FindStringExact(String) | 查找 ListBox 中第一个精确匹配指定字符串的项。 |
FindStringExact(String, Int32) | 查找 ListBox 中第一个精确匹配指定字符串的项。 搜索从特定的起始索引处开始。 |
GetItemChecked(Int32) | 返回指示指定项是否选中的值。 |
GetItemCheckState(Int32) | 返回指示当前项的复选状态的值。 |
GetItemHeight(Int32) | 返回 ListBox 中某项的高度。 |
GetItemRectangle(Int32) | 返回 ListBox 中的项的边框。 |
GetItemText(Object) | 返回指定项的文本表示形式。 |
IndexFromPoint(Int32, Int32) | 返回指定坐标处的项的从零开始的索引。 |
IndexFromPoint(Point) | 返回指定坐标处的项的从零开始的索引。 |
InitializeLifetimeService() | 获取生存期服务对象来控制此实例的生存期策略。 |
Refresh() | 强制控件使其工作区无效并立即重绘自己和任何子控件。 |
RefreshItem(Int32) | 刷新指定索引处的项。 |
RefreshItems() | 再次分析所有 CheckedListBox 项,并获取这些项的新的文本字符串。 |
ResetBackColor() | 将 BackColor 属性重置为其默认值。 |
SetItemChecked(Int32, Boolean) | 将指定索引处的项的 CheckState 设置为 Checked。 |
SetItemCheckState(Int32, CheckState) | 设置指定索引处的项的复选状态。 |
SetItemCore(Int32, Object) | 在派生类中设置具有指定索引的对象。 |
SetItemsCore(IList) | 清除 ListBox 的内容,并向控件中添加指定项。 |
SetSelected(Int32, Boolean) | 选择或清除对 ListBox 中指定项的选定。 |
Sort() | 对 ListBox 中的项排序。 |
一个例子
用户类
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public int Aget { get; set; }
public override string ToString()
{
return Name;
}
}
初使化
private void btnAdd_Click(object sender, EventArgs e)
{
User[] users = new User[3];
users[0] = new User()
{
Name = "刘备",
Aget = 45,
Id = 1
};
users[1] = new User()
{
Name = "关羽",
Aget = 43,
Id = 2
};
users[2] = new User()
{
Name = "张飞",
Aget = 40,
Id = 3
};
foreach (var item in users)
{
chkLstAll.Items.Add(item);
}
}
用DataSource绑定也可以
chkLstAll.DataSource= users;
chkLstAll.DisplayMember = "Name";
读取选项
private void btnRead_Click(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < chkLstAll.Items.Count; i++)
{
if (chkLstAll.GetItemChecked(i))
{
User user = (User)chkLstAll.Items[i];
sb.Append(user.Name + "," +user.Aget.ToString());
}
}
MessageBox.Show(sb.ToString());
}
全选
private void btnSelectAll_Click(object sender, EventArgs e)
{
for (int i = 0; i < chkLstAll.Items.Count; i++)
{
chkLstAll.SetItemChecked(i, true);
}
}
反选
private void btnCancelAll_Click(object sender, EventArgs e)
{
for (int i = 0; i < chkLstAll.Items.Count; i++)
{
chkLstAll.SetItemChecked(i, false);
}
}