如何隐藏/显示CheckedListBox中的项目?

时间:2010-10-07 06:00:49

标签: c# .net winforms

我有一个System.Windows.Forms.CheckedListBox的实例,它显示了一个勾选框列表,我的应用程序中有一些其他System.Windows.Forms个对象。我想,根据用户使用其他System.Windows.Forms项目选择的内容,System.Windows.Form.CheckedListBox中显示或隐藏不同的内容。我怎么能做到这一点?

注意:这适用于Windows桌面应用程序,而不是网页。

2 个答案:

答案 0 :(得分:3)

没有简单的方法来隐藏CheckedListBox中的项目,你必须删除它,就像Brendan Vogt向你展示的那样。

另一种方法是利用数据绑定。 假设不适用于CheckedListBoxDataSource属性的文档说:

  

此API支持.NET Framework基础结构,不能直接在您的代码中使用   获取或设置控件的数据源。此属性与此类无关。

但是,我过去使用它,它工作正常。因此,如果您为列表指定DataView作为DataSource,则可以使用RowFilter属性

过滤其项目
DataView view = new DataView(productsDataTable);
checkedListBox.DataSource = view;
checkedListBox.DisplayMember = "Name";
...

// Hide discontinued products
view.RowFilter = "Discontinued = False";

答案 1 :(得分:0)

我在窗口表单中添加了一个选中的列表框控件。这是一个非常基本的例子。我还添加了一个按钮。单击该按钮时,它删除了第一个项目。这是我的按钮的事件处理程序中的代码,用于删除第一个项目:

if (checkedListBox1.Items.Count > 0)
{
   checkedListBox1.Items.RemoveAt(0);
}

您可以修改此代码以满足您的需求。