Подтвердить что ты не робот

Как изменить размер управления datagridview при изменении размера формы

Я нашел много вопросов о том, как изменить размер формы, когда дочерний элемент управления изменяет размер, но я пытаюсь сделать что-то гораздо проще (возможно, простые люди даже не спрашивают об этом: |)

Я хотел бы автоматически изменить размер ширины datagridview, чтобы заполнить ширину формы. После простого размещения datagridview в форме, сетка остается того же размера, когда форма изменяется. Это происходит даже тогда, когда я использую небольшую привязку с постоянной дистанцией, соединяющую элемент управления с границами формы.

Нужно ли обрабатывать событие form.resize каких-то ролей или есть свойство, которое я могу установить в VS?

4b9b3361

Ответ 1

Используйте привязку управления. Установите свойство Anchor вашего GridView на Top, Left, Right и оно изменит размер с помощью контейнера. Если ваш GridView помещен внутри некоторого контейнера (ex Panel), тогда Panel также должен быть привязан.

Ответ 2

Задайте свойство вашего DataGridView:

Anchor: Top,Left
AutoSizeColumn: Fill
Dock: Fill

Ответ 3

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

Ответ 5

Свойство "Anchor" существует для любого контейнера: формы, панели, группы и т.д.

Вы можете выбрать одну сторону, например, слева или на всех четырех сторонах.

Якорь означает расстояние между выбранной стороной (сторонами), а край контейнера останется неизменным даже при изменении размера.

Например, A datagridview, dgv1, находится в середине Form1. Ваш "Якорь" - левая и верхняя стороны dgv1. Когда приложение запускается и происходит изменение размера, либо с разных разрешений экрана, либо с изменением размера формы, верхняя и левая стороны dgv1 будут соответственно изменяться, чтобы поддерживать их расстояние от края From1. Нижняя и правая стороны не будут.

Ответ 6

В конструкторе формы вы можете создать обработчик событий следующим образом:

this.SizeChanged(frm_sizeChanged);

Затем создайте обработчик событий, который соответствующим образом изменит размер сетки, например:

private void frm_sizeChanged(object sender, EventArgs e)
{
     dataGrid.Size = new Size(100, 200);
}

Замена этих чисел тем, что вы хотите.

Ответ 7

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

Ответ 8

Для меня привязка работает только в том случае, если я устанавливаю его на все четыре стороны:

Анкеровка: верхняя, нижняя, левая, правая

Установка привязки только к левому, нижняя часть перемещает весь объект, когда форма изменяется в нижней части, слева. Установка всех четырех размеров действительно изменяет размер объекта, когда размер родителя изменяется.

Ответ 9

Вам нужно выбрать "Заполнить" в свойстве Dock.

Ответ 10

Если вы хотите показать полный текст заголовков

это автоматически изменит размер столбцов, чтобы заголовки отображали полный текст заголовка.

dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;

Для режима док-станции

Если вы хотите показать режим док-станции в своей панели или форме.

dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;

Ответ 11

установите свойство Dock для datagridview в макете к одному из этих свойств: сверху, слева, внизу, справа. ок?