2012-04-17 6 views
0

У меня есть две колонки:Как изменить размер элементов управления автоматически при изменении размера формы?

C1 и C2.

C1 имеет фиксированное значение 250px, а C2 должен автоматически изменяться. C2 содержит gridview. Итак, если размер изменяется на 1200 пикселей, gridview должен автоматически принимать 950px.

Это очень просто в WPF благодаря элементу управления Grid, но как это сделать в Winforms?

ответ

2

сделайте следующее:

  • Put C1 внутри формы.
  • Установите ширину 250 px.
  • Установите Dock на Left (или Right, до вас).
  • Поместите C2 внутри формы.
  • Задайте свой Dock объект недвижимости Fill.
  • Поместите свой GridView внутри C1.
  • Задайте свой Dock объект недвижимости Fill.

Выполнено.

В качестве альтернативы вы можете использовать элемент управления TableLayoutPanel (он работает более или менее как аналогический WPF). Взгляните на this post here on SO для получения дополнительной информации.

1

Обычно лучше контролировать элементы управления с использованием свойств якоря или док-станции.

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

0

Комплект C1.Width до 250 и C1.Dock влево в дизайнере. Затем установите C2.Dock для заполнения.

+0

Если я установил C2 Dock для заполнения, он занимает всю форму, и мой C1 выходит за C2. – Jack

Смежные вопросы