плавная прокрутка с автопрокруткой - PullRequest
3 голосов
/ 26 апреля 2010

У меня есть панель в форме Windows. На панели включена автопрокрутка. Полосы прокрутки отображаются так, как они должны, а полосы прокрутки обычно работают так, как должны.

Но содержимое панели обновляется только после отпускания кнопки мыши. Как я могу сделать прокрутку контента КАК полоса прокрутки перемещается. (Я хочу продублировать поведение прокрутки в большинстве современных программ, таких как текстовые процессоры и веб-браузеры ... переместить полосу прокрутки и прокрутить содержимое сразу .)

Я использую C #, Visual Studio 2008 pro и Windows XP-pro.

1 Ответ

8 голосов
/ 26 апреля 2010

Я наконец нашел подсказку в сети, и она работает.

Подцепите событие прокрутки панели и в обработчике событий введите код, подобный этому:

if (e.ScrollOrientation == ScrollOrientation.VerticalScroll) {
  panel1.VerticalScroll.Value = e.NewValue;
}

где e - объект ScrollEventArgs, переданный в обработчик событий.

Подобный код для горизонтали, конечно.

Я не знаю, почему это не происходит автоматически или почему по крайней мере нет свойства, чтобы это произошло.

...