TListbox - OnChangeEvent не работает надежно на множественный выбор

Я использую XE7 и FMX.

Моя проблема в том, что OnChange-Event для TListbox работает не правильно с множественным выбором (он не срабатывает каждый раз, когда происходят изменения).

Действия по воспроизведению:

  • Создайте FMX-приложение и добавьте TListbox в его форму.
  • Добавить элементы в этот список.
  • Установите "MultiSelectStyle" списка в "по умолчанию".
  • Обработка OnChangeEvent (установить точку останова или сделать что-то...).
  • Теперь запустите проект и нажмите на первый пункт -> OnChange выполняется.
  • Но если снова щелкнуть первый элемент, OnChange не будет выполнен.

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

1 ответ

Из документации http://docwiki.embarcadero.com/Libraries/en/FMX.ListBox.TCustomListBox.OnChange:

Происходит при изменении выбора в списке. Напишите обработчик события OnChange, который будет выполнять определенные действия сразу после выбора нового элемента или элементов в списке.

Использовать OnClick или же OnItemClick событие вместо того, чтобы отслеживать, когда пользователь повторно выбирает тот же выбор. И держи OnChange обработчик для всех новых выборов.

Другие вопросы по тегам