Member 11856456 Ответов: 1

Как сравнить текст в checkbox в ListView с подпунктом


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

вот что у меня сейчас есть:

 For Each itm As ListViewItem In ListView2.Items

            If itm.SubItems(1).Text.ToString.Contains("document") Then
                CheckBox11.Checked = CheckState.Checked
            End If

            If itm.SubItems(1).Text.ToString.Contains("picture") Then
                CheckBox13.CheckState = CheckState.Checked

'.....etc
            End If



        Next


Я хочу сравнить текст с текстами флажков в групповом поле. так что, когда текст совпадет, он автоматически установит флажок, с которым он совпал.

Что я уже пробовал:

Я попытался сделать для каждого оператора для группового поля, включая для каждого оператора для listview, и он продолжал повторять текст и никогда не проверял ни один из флажков.

Christiaan van Bergen

Можно ли идентифицировать флажки по имени или тексту, например "документ" или "картинка"? Теперь у вас есть связь только в вашем коде между волшебной строкой "документ" и Флажком11. Что затрудняет отказ от такого сложного кодирования.

Member 11856456

Они идентифицируются по тексту, visual studio не позволит мне использовать пробелы в названии дизайна. Я надеялся сделать что-то близкое к а для каждого утверждения, что сравнило бы все тексты.

Maciej Los

WinForms или WebForms?

Member 11856456

Приложения WinForms

1 Ответов

Рейтинг:
1

Maciej Los

Согласно официальной документации а флажок.Проверенное Свойство (System.Окна.Формы)[^] возвращает или задает boolean ценность.

Ваш код может быть упрощен до:

CheckBox11.Checked = itm.SubItems(1).Text.ToString.Contains("document")


Примечание: когда вы идете через коллекцию ListView2.Items один Checked состояние флажков меняется на каждом шагу работы системы. For Each ... Next петля!

Если вы хотите изменить состояние флажка при изменении выбора элемента ListView, используйте onClick или onSelectedIndexChange событие. Видеть: События ListView (System.Окна.Формы)[^]