WinForms: создание набора элементов управления, масштабируемых по вертикали - PullRequest
3 голосов
/ 24 мая 2010

У меня есть форма Windows, которая отображает несколько DataGridViews в следующем макете:
(Нет доступа к хостингу изображений на работе, поэтому прошу прощения за искусство ASCII ...)

┌─────────────────────────────────────────┐  
│┌───────────┐┌──────────────────────────┐│  
││           ││                          ││
│└───────────┘│                          ││
|┌───────────┐│                          ││
││           ││                          ││
│└───────────┘│                          ││
|┌───────────┐│                          ││
││           ││                          ││
│└───────────┘└──────────────────────────┘│
└─────────────────────────────────────────┘

К сожалению, когда пользователь изменяет размеры формы, чтобы она стала выше, форма в итоге выглядит так:

┌─────────────────────────────────────────┐  
│┌───────────┐┌──────────────────────────┐│  
││           ││                          ││
│└───────────┘│                          ││
|             |                          ||
|             |                          ||
|┌───────────┐│                          ││
││           ││                          ││
│└───────────┘│                          ││
|             |                          ||
|             |                          ||
|┌───────────┐│                          ││
││           ││                          ││
│└───────────┘└──────────────────────────┘│
└─────────────────────────────────────────┘

Вместо этого:

┌─────────────────────────────────────────┐  
│┌───────────┐┌──────────────────────────┐│  
││           ││                          ││
││           ││                          ││
│└───────────┘│                          ││
|┌───────────┐│                          ││
││           ││                          ││
││           ││                          ││
│└───────────┘│                          ││
|┌───────────┐│                          ││
││           ││                          ││
││           ││                          ││
│└───────────┘└──────────────────────────┘│
└─────────────────────────────────────────┘

Чтобы воспроизвести это, прикрепите к левому верхнему углу DataGridView к верхнему левому углу, к левому центру DataGridView к левому, а нижний левый DataGridView к нижнему левому углу и большой DataGridView ко всем 4.

Что я могу сделать, чтобы получить поведение, которое я хочу?

Ответы [ 2 ]

6 голосов
/ 24 мая 2010

Поместите TableLayoutPanel в левый столбец с 3 строками и 1 столбцом, закрепите каждый из меньших элементов управления в строке с помощью стыковочного «заполнения», затем закрепите TableLayoutPanel слева, сверху и снизу.

0 голосов
/ 24 мая 2010

Попробуйте использовать некоторые элементы управления SplitContainer в сочетании с некоторыми контейнерами Panel или GroupBox. Тогда ваш пользователь будет иметь возможность изменять размер по мере необходимости.

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