优秀的编程知识分享平台

网站首页 > 技术文章 正文

82.C# CheckedListBox 控件

nanyue 2025-02-10 13:40:37 技术文章 5 ℃

摘要


显示一个 ListBox,其中在每项的左边显示一个复选框。

正文


属性

AllowSelection

获取一个值,该值指示 ListBox 当前是否启用了列表项的选择。

(继承自 ListBox)

Anchor

获取或设置控件绑定到的容器的边缘并确定控件如何随其父级一起调整大小。

(继承自 Control)

AutoScrollOffset

获取或设置一个值,该值指示在 ScrollControlIntoView(Control) 中将控件滚动到何处。

(继承自 Control)

AutoSize

此属性与此类无关。

(继承自 Control)

BackColor

获取或设置控件的背景色。

(继承自 ListBox)

BackgroundImage

此属性与此类无关。

(继承自 ListBox)

BackgroundImageLayout

按照 ListBox 枚举中的定义获取或设置 ImageLayout 的背景图像布局。

(继承自 ListBox)

BindingContext

获取或设置控件的 BindingContext。

(继承自 Control)

BorderStyle

获取或设置在 ListBox 四周绘制的边框的类型。

(继承自 ListBox)

Bottom

获取控件上边缘与其容器工作区的上边缘之间的距离(以像素为单位)。

(继承自 Control)

CausesValidation

获取或设置一个值,该值指示控件是否会引起在任何需要在接收焦点时执行验证的控件上执行验证。

(继承自 Control)

CheckedIndices

该 CheckedListBox 中选中索引的集合。

CheckedItems

该 CheckedListBox 中选中项的集合。

CheckOnClick

获取或设置一个值,该值指示当选定项时是否应切换复选框。

ClientRectangle

获取表示控件的工作区的矩形。

(继承自 Control)

ClientSize

获取或设置控件的工作区的高度和宽度。

(继承自 Control)

ColumnWidth

获取或设置多列 ListBox 中列的宽度。

(继承自 ListBox)

DataManager

获取与此控件关联的 CurrencyManager。

(继承自 ListControl)

DataSource

获取或设置控件的数据源。

DefaultSize

获取控件的默认大小。

(继承自 ListBox)

DisplayMember

获取或设置一个字符串,该字符串指定要显示其内容的列表框中所含对象的属性。

DisplayRectangle

获取表示控件的显示区域的矩形。

(继承自 Control)

Font

获取或设置控件显示的文字的字体。

(继承自 ListBox)

FontHeight

获取或设置控件的字体的高度。

(继承自 Control)

ForeColor

获取或设置控件的前景色。

(继承自 ListBox)

FormatInfo

获取或设置提供自定义格式设置行为的 IFormatProvider。

(继承自 ListControl)

FormatString

获取或设置指示显示值的方式的格式说明符字符。

(继承自 ListControl)

FormattingEnabled

获取或设置一个值,该值指示是否将格式设置应用于 DisplayMember 的 ListControl 属性。

(继承自 ListControl)

HorizontalExtent

获取或设置 ListBox 的水平滚动条可滚动的宽度。

(继承自 ListBox)

HorizontalScrollbar

获取或设置一个值,该值指示是否在控件中显示水平滚动条。

(继承自 ListBox)

IntegralHeight

获取或设置一个值,该值指示控件是否应调整大小以避免只显示项的局部。

(继承自 ListBox)

ItemHeight

获取项区域的高度。

Items

获取该 CheckedListBox 中项的集合。

MultiColumn

获取或设置一个值,该值指示 ListBox 是否支持多列。

(继承自 ListBox)

PreferredHeight

获取 ListBox 中所有项的组合高度。

(继承自 ListBox)

RightToLeft

获取或设置一个值,该值指示由控件显示的文本是否从右向左显示。

(继承自 ListBox)

ScrollAlwaysVisible

获取或设置一个值,该值指示是否任何时候都显示垂直滚动条。

(继承自 ListBox)

SelectedIndex

获取或设置 ListBox 中当前选定项的从零开始的索引。

(继承自 ListBox)

SelectedIndices

获取一个集合,该集合包含 ListBox 中所有当前选定项的从零开始的索引。

(继承自 ListBox)

SelectedItem

获取或设置 ListBox 中的当前选定项。

(继承自 ListBox)

SelectedItems

获取包含 ListBox 中当前选定项的集合。

(继承自 ListBox)

SelectedValue

获取或设置由 ValueMember 属性指定的成员属性的值。

(继承自 ListControl)

SelectionMode

获取或设置指定选择模式的值。

Sorted

获取或设置一个值,该值指示 ListBox 中的项是否按字母顺序排序。

(继承自 ListBox)

Text

获取或搜索 ListBox 中当前选定项的文本。

(继承自 ListBox)

ThreeDCheckBoxes

获取或设置一个值,该值指示复选框是否有 Flat 或 Normal 的 ButtonState。

TopIndex

获取或设置 ListBox 中第一个可见项的索引。

(继承自 ListBox)

UseCompatibleTextRendering

获取或设置一个值,该值确定是使用Graphics类 (GDI+) 还是TextRenderer类 (GDI) 来呈现文本。

UseCustomTabOffsets

获取或设置一个值,它指示 ListBox 在通过使用 CustomTabOffsets 整数数组绘制字符串时是否识别并展开制表符。

(继承自 ListBox)

UseTabStops

获取或设置一个值,该值指示 ListBox 在绘制其字符串时是否可识别和展开制表符。

(继承自 ListBox)

ValueMember

获取或设置一个字符串,该字符串指定要从中取值的数据源的属性。

DisplayMember

获取或设置一个字符串,该字符串指定要显示其内容的列表框中所含对象的属性。

方法

BeginUpdate()

当向 ListBox 中一次添加一个项时,通过防止该控件绘图来维护性能,直到调用 EndUpdate() 方法为止。

(继承自 ListBox)

BringToFront()

将控件带到 Z 顺序的前面。

(继承自 Control)

ClearSelected()

取消选择 ListBox 中的所有项。

(继承自 ListBox)

CreateItemCollection()

创建项集合的新实例。

CreateObjRef(Type)

创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。

(继承自 MarshalByRefObject)

EndUpdate()

在 BeginUpdate() 方法挂起绘制后,该方法恢复绘制 ListBox 控件。

(继承自 ListBox)

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)

FilterItemOnProperty(Object)

如果 ListControl 项是被给定了该项的对象的属性,则检索该项的当前值。

(继承自 ListControl)

FilterItemOnProperty(Object, String)

如果 ListControl 项是被给定了该项以及属性名称的对象的属性,则返回该项的当前值。

(继承自 ListControl)

FindForm()

检索控件所在的窗体。

(继承自 Control)

FindString(String)

查找 ListBox 中以指定字符串开始的第一个项。

(继承自 ListBox)

FindString(String, Int32)

查找 ListBox 中以指定字符串开始的第一个项。 搜索从特定的起始索引处开始。

(继承自 ListBox)

FindStringExact(String)

查找 ListBox 中第一个精确匹配指定字符串的项。

(继承自 ListBox)

FindStringExact(String, Int32)

查找 ListBox 中第一个精确匹配指定字符串的项。 搜索从特定的起始索引处开始。

(继承自 ListBox)

GetItemChecked(Int32)

返回指示指定项是否选中的值。

GetItemCheckState(Int32)

返回指示当前项的复选状态的值。

GetItemHeight(Int32)

返回 ListBox 中某项的高度。

(继承自 ListBox)

GetItemRectangle(Int32)

返回 ListBox 中的项的边框。

(继承自 ListBox)

GetItemText(Object)

返回指定项的文本表示形式。

(继承自 ListControl)

IndexFromPoint(Int32, Int32)

返回指定坐标处的项的从零开始的索引。

(继承自 ListBox)

IndexFromPoint(Point)

返回指定坐标处的项的从零开始的索引。

(继承自 ListBox)

InitializeLifetimeService()

获取生存期服务对象来控制此实例的生存期策略。

(继承自 MarshalByRefObject)

Refresh()

强制控件使其工作区无效并立即重绘自己和任何子控件。

(继承自 ListBox)

RefreshItem(Int32)

刷新指定索引处的项。

(继承自 ListBox)

RefreshItems()

再次分析所有 CheckedListBox 项,并获取这些项的新的文本字符串。

ResetBackColor()

将 BackColor 属性重置为其默认值。

(继承自 ListBox)

SetItemChecked(Int32, Boolean)

将指定索引处的项的 CheckState 设置为 Checked。

SetItemCheckState(Int32, CheckState)

设置指定索引处的项的复选状态。

SetItemCore(Int32, Object)

在派生类中设置具有指定索引的对象。

(继承自 ListBox)

SetItemsCore(IList)

清除 ListBox 的内容,并向控件中添加指定项。

(继承自 ListBox)

SetSelected(Int32, Boolean)

选择或清除对 ListBox 中指定项的选定。

(继承自 ListBox)

Sort()

对 ListBox 中的项排序。

(继承自 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);
    }
}

Tags:

最近发表
标签列表