Как скрыть / показать элементы в CheckedListBox? - PullRequest
0 голосов
/ 07 октября 2010

У меня есть экземпляр System.Windows.Forms.CheckedListBox, который отображает список флажков, и у меня есть некоторые другие System.Windows.Forms объекты в моем приложении.Я хотел бы, чтобы в зависимости от того, что пользователь выбирает с помощью других System.Windows.Forms элементов, показывает или скрывает различные элементы в System.Windows.Form.CheckedListBox.Как я могу добиться этого?

Примечание: это для настольного приложения Windows, а не веб-страницы.

Ответы [ 2 ]

3 голосов
/ 08 октября 2010

Нет простого способа скрыть элемент в CheckedListBox, вы должны удалить его, как показал вам Брендан Фогт.

Альтернативой является использование привязки данных.Для 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";
0 голосов
/ 07 октября 2010

Я добавил проверенный элемент управления списком в форму окна.Это очень простой пример.Я также добавил кнопку.Когда кнопка нажата, она удаляет первый элемент.Вот код, который находится в обработчике событий моей кнопки для удаления первого элемента:

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

Вы можете изменить этот код в соответствии со своими потребностями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...