Как сделать, чтобы дочерний элемент управления снова привязывался к его родительской Форме, когда он был обрезан на экране с небольшим разрешением? - PullRequest
3 голосов
/ 09 июля 2009

У меня есть форма Windows с размером по умолчанию 1100x400, и у меня есть элемент управления DataGridView, привязанный к Top, Left, Bottom, Right.

Изменение размера формы на экране с разрешением выше 1100x400 работает нормально, а привязка работает хорошо, изменяя размер элемента управления DataGridView, как и ожидалось.

Когда я запускаю форму на экране с разрешением 800x600, форма обрезается и подгоняется под 800x600. DataGridView обрезан и не может быть виден полностью - он отбрасывает форму справа, поэтому он не соответствует правому якору. Изменение размера формы в этой ситуации по какой-то причине не учитывает параметры привязки: элемент управления DataGridView не изменяет размер при изменении размера формы.

Есть ли программный способ (для события изменения размера или чего-то еще) заставить дочерний элемент управления DataGridView привязать стороны формы?

Я уже пытался вызвать PerformLayout и Обновить в событии изменения размера формы, но это довольно избыточно, не так ли?

1 Ответ

0 голосов
/ 09 июля 2009

Я бы порекомендовал вам поиграть с MinimumSize / MaximumSize формы и элементов управления

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

Что касается MaximumSize для формы - я рекомендую вам попробовать установить это значение в Form_Load, чтобы оно было меньше или равным текущему разрешению экрана или текущей рабочей области (то есть области экрана без панелей задач, закрепленных окон и т. Д.)

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