分组控件:CheckedListBox控件的使用

在CheckBox、CheckedListBox、RadioButton和TrackBar这四个控件的功能都是设置和获取值的,我们称之为设置值的控件。

前面我们了解了CheckBox控件和RadioButton控件的使用,这里我们来看CheckedListBox控件的使用,CheckedListBox控件在工具箱中的图标如图所示:
vb.net入门——分组控件:CheckedListBox控件的使用(图一)

Windows窗体的CheckedListBox控件,扩展了ListBox控件(vb.net入门——ListBox控件的使用)。它几乎可以完成列表框控件(ListBox)可以完成的所有任务,并且还可以在列表中的项旁边显示复选的标记。这两种控件的其他差异是:CheckedListBox控件(也称复选列表框)只支持DrawMode.Normal,并且复选列表框只能有一项选定或者没有任何选定,选定的项在窗体上突出显示,与以选中的项区别。

一、常用属性和方法

CheckedListBox控件的属性和方法基本上都可以在ListBox控件中找到,可以参看这里:vb.net入门——ListBox控件的使用。值得我们重视的是,CheckedListBox控件的CheckedItems属性,它是CheckedListBox控件中复选框选中的项的集合,我们可以通过检索该属性来获得选中的项。

CheckOnClick 指示是否只要一选择项即切换复选框。默认行为是在首次单击时更改选定内容,然后让用户再次单击以应用选中标记。但在某些情况下,您可能愿意一单击项就选中它。

下面我们就直接以实例来了解和掌握CheckedListBox控件的方法和属性。

二、在CheckedListBox控件中添加、移除项

因为CheckedListBox控件控件的使用和ListBox控件相似,所以我们这里就只针对用编程的方法来对CheckedListBox控件的操作。

1、添加项

添加一个名为“新建文件”的项,且复选框为选中状态

CheckedListBox1.Items.Add("新建文件", True)

添加一个名为“拷贝文件”的项,且复选框为未选中状态

CheckedListBox1.Items.Add("拷贝文件", False)

2、删除项

使用Remove来删除项,或者使用RemoveAt来移除指定索引的项

删除CheckedListBox中的选中的项

CheckedListBox1.Items.Remove(CheckedListBox1.SelectedItem)

删除指定索引的项

CheckedListBox1.Items.RemoveAt(0)

3、删除所有项

CheckedListBox1.Items.Clear()

三、确定 CheckedListBox 控件中已选中的项

当显示CheckedListBox 控件中的数据时,可以循环访问CheckedItems属性中存储的集合,或者使用GetItemChecked 方法一一检查列表确定所选中的项。

GetItemChecked 方法采用项的索引号作为参数,并返回True或者False。SelectedItems 和 SelectedIndices属性并不确定哪些项目已选中,它们只指示哪些项目为突出显示。CheckedItems集合是从0开始的。

示例:

1、在窗体上,放置一个CheckedListBox和两个Button控件,并在CheckedListBox的“字符串编辑器”中添加字面为 a 到 l 的几个项目,如下图所示:

vb.net入门——分组控件:CheckedListBox控件的使用(图二)

2、两个按钮中的Click事件的代码如下:

Button1:

// Determine if there are any items checked.
if (checkedListBox1.CheckedItems.Count != 0)
{
    // If so, loop through all checked items and print results.
    string s = "";
    for (int i = 0; i < checkedListBox1.CheckedItems.Count; i++)
    {
        s = s + "Checked Item " + (i + 1).ToString() + " = " + checkedListBox1.CheckedItems[i].ToString() + "\n";
    }
    MessageBox.Show(s);
}

Button2:

string s = "Checked items:\n";
for (int i = 0; i <= (checkedListBox1.Items.Count - 1); i++)
{
    if (checkedListBox1.GetItemChecked(i))
    {
        s = s + "Item " + (i + 1).ToString() + " = " + checkedListBox1.Items[i].ToString() + "\n";
    }
}
MessageBox.Show(s);


运行测试,把列表框中的第一、第四项选中,如图所示:

 

vb.net入门——分组控件:CheckedListBox控件的使用(图三)

现在先点击第一个按钮,弹出的信息如下所示:

 

vb.net入门——分组控件:CheckedListBox控件的使用(图四)

指示的项是在选中列表的索引

再单击第二个按钮,弹出的信息如下所示:

 

vb.net入门——分组控件:CheckedListBox控件的使用(图五)

很明显,所指示的项索引是整个列表中的索引。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值