我有一个System.Windows.Forms.CheckedListBox
的实例,它显示了一个勾选框列表,我的应用程序中有一些其他System.Windows.Forms
个对象。我想,根据用户使用其他System.Windows.Forms
项目选择的内容,在System.Windows.Form.CheckedListBox
中显示或隐藏不同的内容。我怎么能做到这一点?
注意:这适用于Windows桌面应用程序,而不是网页。
答案 0 :(得分:3)
没有简单的方法来隐藏CheckedListBox
中的项目,你必须删除它,就像Brendan Vogt向你展示的那样。
另一种方法是利用数据绑定。 假设不适用于CheckedListBox
,DataSource
属性的文档说:
此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);
}
您可以修改此代码以满足您的需求。