Это для формы окна.
Панель имеет AutoScroll = True
Я добавляю панели динамически к главной панели, которые в итоге выходят за пределы прямоугольника отображения главной панели.
Затем добавьте метки, поля со списком и текстовые поля на добавленные панели.
Если я выбираю поле со списком или текстовое поле, оно сбрасывает положение полосы прокрутки основных панелей на 0, а также раскрывающееся меню для поля со списком будет размещено на экране X, Y, где это должно быть, если полоса прокрутки не была сброс.
Я думаю о сохранении позиции прокрутки, когда выбран элемент управления. После тестирования кажется, что положение прокрутки еще не сброшено, поэтому я могу зафиксировать его здесь. Затем восстановление позиции прокрутки на каком-то событии панели, я надеюсь. Я пытаюсь выяснить, какое именно событие я бы использовал для восстановления позиции прокрутки. Я также надеюсь, что выпадающее меню будет размещено в правильном x, y, когда я это сделаю.
Лучшим решением было бы создать пользовательский элемент управления на основе панели управления и переопределить событие, возможно? Таким образом, мне не нужно было бы загромождать мой проект сохранением позиции прокрутки каждый раз, когда я использую панель прокрутки.