Перейти к содержанию
Fire Monkey от А до Я
  • 0

Иногда выделяется несколько элемнтов в ListBox


Sergiy_83

Вопрос

Опубликовано

Всем привет.

Иногда, особенно когда есть прокрутка списка можно случайно выделить несколько элементов ListBox-а. Ощущение, что чем больше загрузка приложения, тем чаще проявляет себя эта проблема. Бывает редко но жутко раздражает. Работоспособность программы не нарушается.

Что делать? Может "костыли" какие возможно придумать? 

Android.

Рекомендуемые сообщения

  • 0
Опубликовано
20 минут назад, Sergiy_83 сказал:

Что делать? Может "костыли" какие возможно придумать? 

Решение очень простое: Использовать ListView! :)

  • 0
Опубликовано

Сталкивался с подобным. В моем случае, решение было следующим: использовал не OnItemClick, а OnMouseDown.

И у TListBox свойство MultiSelectStyle = None.

Код, примерно, такой:

procedure TfmMain.lbxCListMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Single);
var
  LI : TListBoxItem;
begin
  if Assigned(Sender as TListBox) then
  begin
    LI := TListBox(Sender).ItemByPoint(X, Y);

    if Assigned(LI as TListBoxItem) and (Button = TMouseButton.mbLeft) then
    begin
      LI.IsSelected := True;

      TTask.Run(procedure
      begin
            DoSelectItemC(lbxCList, LI.Index); // тут Ваша процедура обработки выбранного TListBoxItem (если внутри DoSelectItemC работаем с GUI, то не забываем TThread.Synchronize()...)
      end);
    end;
  end;
end;

 

  • 0
Опубликовано
В 4/10/2018 в 12:44, wamaco сказал:

Использовать ListView

ListView пока что для меня тёмный лес.

В 4/10/2018 в 13:16, AlexG сказал:

использовал не OnItemClick, а OnMouseDown

Выделяете вы с помощью 

LI.IsSelected := True;

а снимаете выделение где? И как отключить встроенные события которые выделяют итемы? Спасибо.

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...