Лучший способ изменить размер форм Windows Forms - PullRequest
7 голосов
/ 25 июня 2010

Я работаю над большим проектом C # с большим количеством форм Windows Forms, которые, даже если вы можете изменить размер формы, элементы в форме не масштабируются.

Как сделать так, чтобы элементы формы (такие как сетка данных, текстовые области и т. Д.) Масштабировались, когда пользователь изменяет размер формы?

Почти все подклассы форм из одного определенногоформа, так что если я могу что-то сделать в базовом классе, это было бы здорово.

Ответы [ 2 ]

15 голосов
/ 25 июня 2010

Необходимо установить свойства Anchor и Dock для элементов управления в формах.

Свойство Anchor определяет, какие края элемента управления "связаны" или "связаны" с соответствующимкрая его формы.
Например, если вы установите Anchor на Bottom, расстояние между нижним краем элемента управления и нижним элементом его родителя не изменится, поэтому элемент управления будет перемещаться вниз при изменении размера формы..
Если вы установите Anchor на Top | Bottom, размер элемента управления будет изменяться по вертикали при изменении размера формы.

Чтобы изменить размер элемента управления с формой, установите Anchor для всех четырех сторон.или установите Dock на Fill.

5 голосов
/ 25 июня 2010

Используйте свойства Anchor и Dock .

Якорь позволяет прикрепить определенные стороны элемента управления к сторонам родительского элемента управления.

Dock свяжет весь элемент управления со стороной родительского элемента управления, или его можно установить для заполнения содержимого родительского элемента управления.

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

...