Автоматическое изменение размеров элементов управления Windows Forms - PullRequest
29 голосов
/ 28 октября 2009

Я использую конструктор VS2008 для этого.

Например, если у меня размер окна, скажем, 500x500, и я добавил к нему DataGridView (490x490).

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

Никакое программное обеспечение не будет таким. Я не знаю, что изменить, чтобы получить желаемое поведение.

Ответы [ 5 ]

48 голосов
/ 28 октября 2009

Вы можете использовать Dock, или для более точного управления используйте свойство Anchor. Установив привязку влево, вправо, сверху, снизу, элемент управления будет масштабироваться вместе с окном. Установив привязку вправо, элемент управления будет двигаться с правой границей. При установке Anchor на Top и Bottom элемент управления будет масштабироваться вертикально, но иметь фиксированную ширину. Просто эксперимент

19 голосов
/ 28 октября 2009

Вы можете установить Dock -Property вашего экземпляра DataGridView на DockStyle.Fill или использовать Anchor -Property и установить привязки на:

dataGridView.Anchor = 
    AnchorStyles.Bottom | 
    AnchorStyles.Right | 
    AnchorStyles.Top | 
    AnchorStyles.Left;

Первый метод заставит ваш DataGridView заполнить всю вашу клиентскую область. Второй метод сохраняет соотношение и изменяет размер элемента управления только при изменении размера контейнера.

8 голосов
/ 28 октября 2009

для заполненной стыковки внутри winform:

dataGridView.Dock = DockStyle.Fill;
6 голосов
/ 28 октября 2009

Установите для свойства Dock DataGridView значение Fill.

2 голосов
/ 21 сентября 2015

Если вам нужны другие вещи, такие как текстовое поле, графический блок и т. Д. Для автоматического масштабирования, перейдите к соответствующему свойству привязки и установите его в соответствии с вашим желанием.

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