如何隐藏/显示 CheckedListBox 中的项目? [英] How do I hide/show items in a CheckedListBox?

查看:63
本文介绍了如何隐藏/显示 CheckedListBox 中的项目?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have an instance of System.Windows.Forms.CheckedListBox which displays a list of tick boxes and I have some other System.Windows.Forms objects in my application. I would like to, depending on what the user selects using the other System.Windows.Forms items, show or hide different items in the System.Windows.Form.CheckedListBox. How could I achieve this?

注意:这是针对 Windows 桌面应用程序,而不是网页.

推荐答案

没有简单的方法可以隐藏 CheckedListBox 中的项目,您必须将其删除,就像 Brendan Vogt 向您展示的那样.

There is no easy way to hide an item in a CheckedListBox, you have to remove it, like Brendan Vogt showed you.

另一种方法是利用数据绑定.不应该CheckedListBox 工作,DataSource 属性的文档说:

An alternative is to take advantage of data binding. It is not supposed to work for CheckedListBox, the documentation of the DataSource property says:

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

This API supports the .NET Framework infrastructure and is not intended to be used directly from your code.
Gets or sets the data source for the control. This property is not relevant for this class.

不过我以前用过,效果很好.因此,如果您将 DataView 指定为列表的 DataSource,则可以使用 RowFilter 属性

However, I used it in the past, and it works fine. So if you assign a DataView as the DataSource for the list, you can filter its items using the RowFilter property

DataView view = new DataView(productsDataTable);
checkedListBox.DataSource = view;
checkedListBox.DisplayMember = "Name";
...

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

这篇关于如何隐藏/显示 CheckedListBox 中的项目?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆