Как перебрать выбранные элементы в раскрывающемся списке и проверить значение? - PullRequest
0 голосов
/ 27 августа 2018

У меня есть комбинированное окно, которое принимает несколько значений.Он настроен так:

[] Empty
[] Math
[] Science
[] English

Пользователь может выбрать несколько вариантов.Однако, когда пользователь выбирает Empty, значение должно быть пустым или пустой строкой.Текущая реализация допускает, чтобы значение было комбинацией «Пусто» и фактического субъекта.

Я использую здесь событие AfterUpdate ()

Private Sub Classes_Value_AfterUpdate()
Dim counter As Integer
For counter = 0 To MyComboBox.ItemsSelected.Count - 1
  If MyComboBox.ListIndex(counter) = "Empty" Then
    Me.MyComboBox.Value = " " 
End Sub

Но это не похоженравится строка .ListIndex(counter).Кажется, я не могу проверить значение в цикле соответствующим образом.

1 Ответ

0 голосов
/ 27 августа 2018

Вы можете использовать свойство .Value многозначного поля со списком.Это массив всех выбранных значений.

Private Sub Classes_Value_AfterUpdate()
    Dim v As Variant
    For Each v To MyComboBox.Value
      If v = "Empty" Then
        Me.MyComboBox.Value = Null
        Exit Sub
      End If
    Next
End Sub

Вы можете использовать это, но с точки зрения UX, я настоятельно рекомендую вам не использовать его и добавить вместо него кнопку Clear установите для поля значение Null.

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