Проблема с событием Mouse Up в ListBox .NET Framework

У меня возникла проблема с элементом управления ListBox в приложении Visual Studio 2019 C# Windows Form. Что мне не понравилось в исходном элементе управления, так это то, что элемент выбирается при нажатии кнопки мыши. Это была проблема, когда я хотел перетащить, потому что, когда у меня выбрано несколько элементов, и я хочу перетащить выделение, событие, которое я нажимаю, отключается. Что я хотел сделать, так это запомнить, какой элемент был выбран, а затем снова выбрать его при нажатии кнопки мыши. Затем я хотел отключить выбор, если после события мыши курсор мыши все еще находится на выбранном элементе. Он отлично работает, только если речь идет об одном выборе элемента. Когда выбрано более одного элемента, событие подъема мыши не вызывается. Кто-нибудь знает, как справиться с этой проблемой?


person Maciej    schedule 09.05.2020    source источник
comment
проблема с перетаскиванием ListBox MultiSelect (не самопринятый ответ).   -  person Jimi    schedule 09.05.2020


Ответы (1)


Я нашел, в чем проблема. Оказалось, что при вызове метода DoDragDrop MouseUp работает некорректно. Поэтому я вызываю его только тогда, когда курсор находится на расстоянии не менее 30 пикселей от координат курсора MouseDown, и теперь он работает нормально.

person Maciej    schedule 10.05.2020