2014-10-04 2 views
-2

Я пытаюсь сделать это с помощью элемента управления TableLayout и иметь один столбец, фиксированный в 200, и другой AutoSize. Тем не менее, если я не помещаю ничего в столбец autosize, он сжимается до нуля, а другой предположительно фиксированный столбец ширины расширяется по всей форме.Как достичь WinForm с одним фиксированным размером и одним столбцом переменной?

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

+0

«Современные времена» будут больше похожи на WPF;) В любом случае было бы легче ответить на ваш вопрос, если бы мы могли видеть, как выглядит ваш код. –

+0

Вы уверены, что поставили 200 px, а не 200 процентов? – Tuco

+1

Да, я положил 200px. @PatriceGahide, WPF + VB.NET - это дьявол. У меня еще нет кода, я все еще пытаюсь заставить управление компоновкой работать на странице. Для этого не нужен код, или я просто напишу свой собственный кровавый контроль. – ProfK

ответ

3

Установите другой столбец (AutoSize) на 100%.

+0

Это делает чувство _perfect_, спасибо. – ProfK

4

Согласно Autosize behaviour, вы должны использовать Percent, а не Autosize:

После пространства для всех столбцов или строк Абсолютные и AutoSize выделяется, какие столбцы или строки с SizeType в процентах: используются пропорционально распределить оставшееся свободное пространство

Autosize будет соответствовать самым широким дочерний элемент может найти, поэтому вполне логично, что, когда нет ни одного ребенка найдено, выбранная ширина столбца равна 0. FI, такое поведение является то же самое в WPF когда размер установлен на «Авто».

Смежные вопросы