Перемещение панели после изменения видимости - PullRequest
0 голосов
/ 11 мая 2010

Использование WinForms и C #:

У меня есть панель, которая содержит групповое поле, некоторые флажки и текстовые поля. Эта панель не всегда видна. В зависимости от выбора пользователя я показываю панель. Однако экран достаточно велик, поэтому для него требуются полосы прокрутки в зависимости от разрешения экрана.

Кто-нибудь знает, почему панель будет двигаться в зависимости от AutoScrollPosition? Я не могу найти, почему это прыгает вокруг. Я не меняю местоположение в коде. Я нашел работу вокруг, что я перечислил ниже. Но было бы неплохо понять, почему это происходит.

           if (m_PanelHoist.Location.Y != m_GroupBoxDrag.Location.Y)
           {
              Point point = m_PanelHoist.Location;
              point.X += AutoScrollPosition.X;
              point.Y += AutoScrollPosition.Y;
              m_PanelHoist.Location = point;
           }

1 Ответ

1 голос
/ 11 мая 2010

Вы используете this.AutoScrollPosition. Что говорит о том, что панель прокручивается формой. Это совершенно нормально, все дочерние элементы управления внутри формы подлежат прокрутке, включая вашу панель. Ваш фрагмент кода действительно компенсирует это.

По замыслу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...