автоматическое изменение размера элементов управления на страницах вкладок

У меня есть TabControl, состоящий из нескольких TabPages. Один из этих TabPages содержит TreeView, а другой - DataGridView. Я бы хотел, чтобы эти элементы управления (и вкладки) автоматически изменяли размер до максимального размера, разрешенного в TabControl, без прокрутки.

DataGridView содержит свойство AutoSize, унаследованное от Control, которое искажает элемент управления, если он включен. TreeView не имеет этого свойства. Я попытался установить размер, равный TabControl.Size, но это не учитывает размер рамки и высоту панели вкладок.

treeView.Size = new Size(tabControl.Size.Width - SystemInformation.Border3DSize.Width * 2, tabControl.Size.Height - SystemInformation.Border3DSize.Height * 2);

Мой вопрос: как я могу определить высоту кнопок Tab или как я могу автоматически заполнить TabPages до максимального размера с помощью одного элемента управления?


person Wouter    schedule 10.02.2009    source источник


Ответы (1)


Свойство, которое вы ищете, называется Dock. .

Вероятно, вы захотите установить для него значение DockStyle.Fill в TreeView и DataGridView.

Альтернативой может быть установка _2 _ Свойство для AnchorStyle.Top, AnchorStyle.Left, AnchorStyle.Right и AnchorStyle.Bottom (объединить с двоичным ИЛИ знаком вертикальной черты '|'). Для этого вам необходимо установить размер дочерних элементов на ClientSize

person Sven Hecht    schedule 10.02.2009
comment
К сожалению, это не работает. Он прикрепляет элементы управления к TabPages, которые не стыкуются с TabControl. TabPages также не содержат свойства Dock или Anchor. - person Wouter; 10.02.2009
comment
насколько я знаю, вкладки используют полный клиентский размер элемента управления вкладками или как вы их используете? - person Sven Hecht; 10.02.2009
comment
Я использую его как обычно: TabControl t = new TabControl(); TabPage tp = new TabPage(); t.TabPages.Add(tp); Затем я продолжаю устанавливать размер и расположение элемента управления табуляцией. Любые предложения о том, как масштабировать TabPage, чтобы заполнить TabControl? - person Wouter; 11.02.2009
comment
Я не могу представить, как страница вкладок не может заполнить элемент управления вкладками. Кажется, я не понимаю, в чем твоя проблема ... скриншот? - person Sven Hecht; 11.02.2009