C # Предотвратить изменение размеров обеих панелей splitcontainer - PullRequest
19 голосов
/ 16 августа 2011

У меня есть SplitContainer, и мне было интересно, как я могу установить статический размер для обеих панелей и не дать пользователю возможность изменять размеры панелей. Будет ли решение FixedPanel? Из того, что я прочитал, я не думаю, что это так.

Ответы [ 4 ]

31 голосов
/ 16 августа 2011

Я думаю, вы просто ищете свойство IsSplitterFixed.

3 голосов
/ 06 июля 2017

Название этого вопроса вводит в заблуждение . Существует более одного правильных ответов, которые удовлетворяют заголовку этого вопроса, несмотря на выбранный ответ.

Для уточнения:

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

FixedPanel

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

IsSplitterFixed - это просто способ временно запретить пользователю перемещать сплиттер. Размеры панелей по-прежнему пропорциональны размеру SplitContainer.

3 голосов
/ 26 февраля 2013

Мне действительно любопытно, почему вы хотите использовать разделенный контейнер, если вы не хотите, чтобы пользователь изменил его размер

Однако, если вы хотите запретить автоматическое изменение размеров одной из панелей с родительским контейнером

Это свойство «Фиксированная панель» контейнера Split.

0 голосов
/ 16 августа 2011

Если вы не хотите, чтобы пользователь мог изменять размеры панелей, не используйте SplitContainer.

Просто используйте панели и добавьте панель шириной 2 пикселя для имитации разделителя.

  • PanelContainer -> будет содержать PanelA, PanelB и PanelC
  • PanelA (левая панель) -> Закрепить его слева
  • PanelB (разделитель) -> установить ширину 2 пикселя
  • PanelC (правая панель) -> Закрепить его, чтобы заполнить

Затем вы можете изменить размер панелей так, как вам нужно, в режиме конструктора, и пользователь не сможет изменять размеры панелей.

...