Эй, ребята, я использую Panel
для хранения списка элементов управления (определяемых пользователем). При добавлении панелей я устанавливаю расположение элемента управления на основе Panel.Controls.Count
, прежде чем добавить его на панель.
comRec.Location = new Point(comRec.Location.X, panel1.Controls.Count * 25);
panel1.Controls.Add(comRec);
Теперь, это работает хорошо и выглядит именно так, как я хочу. Однако, как только мы достигнем предела в окне, AutoScroll
разрешает (что я хочу). Теперь, если пользователь прокрутит до нижней части Panel
, это в конечном итоге изменит местоположение каждого элемента управления на панели. Вместо моего первого значения comRec.Location
(0,0), это что-то вроде (0, -219). Так что теперь, когда пользователь добавляет еще один объект comRec
, он создает ОГРОМНЫЙ разрыв между объектами.
Мой вопрос таков: как лучше всего учитывать изменения местоположения с помощью полосы прокрутки и при этом использовать мою систему добавления? Я предполагаю, что придется что-то делать с проверкой значения полосы прокрутки и использованием его для определения местоположения.
Кроме того, есть ли ЛУЧШИЙ способ отобразить список элементов управления? Должен ли я использовать Panel
?