Я заметил проблему с наличием большого количества элементов в элементе управления winforms listbox.
В этом простом тестовом примере у меня есть 120 000 строк, добавленных в список. Первоначально я столкнулся с этим, используя таблицу данных, привязанную к listbox.DataSource, но она также воспроизводима таким образом:
listBox.BeginUpdate();
for(int x = 0; x < 120000; x++)
{
listBox.Items.Add(x);
}
listBox.EndUpdate();
Когда я нажимаю и перетаскиваю кнопку прокрутки сверху вниз, после того, как я отпускаю мышь, она перемещает кнопку прокрутки в середину полосы прокрутки.
Это скриншот того, куда приземляется кнопка, когда я отпускаю ее точно в нижней части / рядом с ней (я был точен и не держал мышь за пределами полосы прокрутки).
Если я сейчас нажму на кнопку полосы прокрутки и переместлю ее на 3/4 длины элемента управления вниз, она снова выскочит примерно на 1/4 длины элемента управления.
Кто-нибудь еще видел это и есть ли известное обходное решение? (правда, я не изучал следующий пункт) есть ли у этого элемента управления параметры динамической загрузки «виртуального режима», такие как datagridview, которые могли бы случайно избавиться от этой странной икоты?