C # TabPages, добавленные во время выполнения, не изменяют размер родительской формы автоматически - PullRequest
2 голосов
/ 25 января 2010

У меня есть простая форма, которая содержит TabControl, куда TabPages добавляются во время выполнения. Я получил все это, чтобы работать почти , как я хочу, однако, когда я устанавливаю форму для автоматического изменения размера, она игнорирует вкладки времени выполнения в вычислениях ... Как я могу заставить форму отложить автоматическое изменение размеров до тех пор, пока не будут добавлены вкладки, или принудительно пересчитать форму при добавлении новой вкладки?

РЕДАКТИРОВАТЬ : Кстати, я проверяю это, запустив мое приложение с разрешением 640x480 (используя свойство MinimumSize) и включив в него элемент управления шириной 750.

Ответы [ 3 ]

0 голосов
/ 25 января 2010

А как насчет использования TabPage.Dock = DockStyle.Fill?

0 голосов
/ 21 сентября 2010

Я подозреваю, что у вас больше нет этой проблемы, но это может быть полезно для всех, кто ищет решение.Вы можете установить MinimumSize для TabControl равным MinimumSize самой большой вкладки, которую вы добавляете.TabPages не имеют собственного MinimumSize, поэтому вам нужно иметь один полностью закрепленный элемент управления в TabPage, на котором вы можете проверить MinimumSize.

У меня уже была эта настройка (использование FlowLayoutPanel длявыложите содержимое TabPage), чтобы было относительно просто, не уверен, будет ли так легко для других.Я знаю, что это действительно неприятное «решение» проблемы, но я не смог найти другой способ заставить TabControl правильно обновляться.

0 голосов
/ 25 января 2010

Можно ли использовать SuspendLayout() и ResumeLayout()? Вот ссылка , которая объясняет, как это работает.

Сначала вы набираете SuspendLayout(), добавляете вкладки, затем ResumeLayout().

Надеюсь, это поможет, С наилучшими пожеланиями, Том.

...