Определите, было ли изменение индекса Listbox изменением или щелчком мыши

У меня есть список Win Winms, содержимое которого обновляется каждые несколько секунд. В списке отображаются сообщения, хранящиеся в базе данных, на которые люди могут отвечать - это настраиваемое приложение для обмена мгновенными сообщениями. Когда происходит обновление, выбранный индекс автоматически меняется на 0, что является проблемой, если у меня выбрано 6-е сообщение и я пытаюсь ответить на него. Как определить, является ли изменение индекса результатом обновления или щелчка мышью по списку, а затем остановить изменение выделения, если это не щелчок мышью?

1 ответ

Я считаю, что нашел решение своего вопроса. Я не был уверен, как делать обработчики событий, поэтому я исследовал это. Я добавил обработчик события в событие MessageListBox.click. Этот обработчик события устанавливает свойство с именем selectedIndex и является единственным местом, которое устанавливает это значение. В методе обновления я установил для MessageListBox.SelectedIndex это значение после вызова обновления / обновления.

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