Ограничить движение SplitContainer в C #? - PullRequest
1 голос
/ 18 июня 2011

У меня есть SplitContainer в моей форме.
На 1-й панели у меня есть TreeView и ListView на 2-й.(Классический)
Теперь я хочу ограничить размер 1-й панели (с TreeView) шириной 250 пикселей.
Я хочу, чтобы разделитель не двигался слишком (или слишком).
Как мне это сделать?

Ответы [ 4 ]

2 голосов
/ 18 июня 2011

Вы можете использовать SplitContainer.Panel1MinSize свойство.

SplitContainer1.Panel1MinSize = 250;
1 голос
/ 18 июня 2011

Во-первых, если вы хотите ограничить TreeView ТОЧНО 250px, установите FixedPanel равным Panel1, установите для свойства IsSplitterFixed значение True и установите для Panel1MinSize значение 250. Это в основном делает разделение только графическим; по умолчанию разделитель будет иметь размер, достаточно большой для TreeView, и не будет перемещаться.

Если вы хотите ограничить TreeView по крайней мере 250px, просто установите Panel1MinSize равным 250. Это не позволит пользователю сделать панель МЕНЬШЕ, чем та, хотя они могут сделать ее БОЛЬШОЙ. Максимального ограничения нет, но вы можете получить эффект одного, установив максимальный размер для окна и минимальный размер для другой панели SplitContainer.

0 голосов
/ 20 сентября 2012

Полагаю, вам стоит взглянуть на FixedPanelProperty для splitContainer.Я позволяю вам только позволить другой панели расти и уменьшаться при операциях изменения размера: изменение размера намного более плавное.

0 голосов
/ 31 июля 2012

Просто небольшое дополнение.

Вот код для размещения в frmMain_Load () (или везде). В коде минимальное значение составляет 250 пикселей, а максимальное - 400 пикселей.

this.splitContainer1.Panel1MinSize = 250;
this.splitContainer1.Panel2MinSize = this.splitContainer1.Width - 400;

Не забудьте поместить тот же код в событие изменения размера frmMain_Resize ()

...