Как прокрутить панель потока при перетаскивании? - PullRequest
1 голос
/ 11 февраля 2010

В моем приложении Windows Forms я использую элемент управления FlowLayoutPanel для отображения списка элементов пользователям. Мне удалось успешно осуществить переупорядочение элементов в FlowLayoutPanel, заставив пользователя перетащить элемент управления в нужную позицию в FlowLayoutPanel.

Но я не знаю, как прокрутить панель FlowLayoutPanel, когда пользователь перетаскивает элемент за границы панели. Я видел примеры для элементов управления ListView, но эти методы, похоже, не применяются к FlowLayoutPanel.

Может ли кто-нибудь предоставить пример кода, предпочтительно на c #, о том, как реализовать эту функцию?

При желании я могу предоставить примеры кода моей текущей методики переупорядочения.

Спасибо!

Ответы [ 2 ]

4 голосов
/ 11 февраля 2010

Добавьте вызов метода ScrollControlIntoView () после перемещения элемента управления.

2 голосов
/ 30 декабря 2011

Этого можно достичь, установив свойство AutoScrollPosition.

В DragOver Событии:

flowLayoutPanel1.AutoScrollPosition = flowLayoutPanel1.PointToClient(new Point(e.X, e.Y));
...