Сделайте адаптивную форму в режиме дизайна (не программно)

Я делаю программу WinForms, которая должна иметь полностью адаптивный дизайн в полноэкранном режиме.

У меня есть подход, который работает более или менее хорошо. Он заключается в вычислении соотношения между размером экрана дисплея и исходным размером формы. Затем я применяю это соотношение к свойствам width, left, height, top каждого элемента управления внутри формы.

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

Форма с 100x100 Пуговица 20x20, расположенная в (10,10)

Если я изменил размер формы до 200x200 (умножить на 2), лучший подход, который я могу сделать в представлении дизайна, - это сохранить четыре привязки к кнопке, поэтому размер кнопки будет 120x120 в том же положении (10,10), а то, что я нужна кнопка размером 40x40 в позиции (20,20), так как размер формы был умножен на 2.

Возможно ли это с помощью встроенных операций winforms в представлении дизайна? (Избегая расчетов)


person mzurita    schedule 14.06.2016    source источник


Ответы (1)


Да, это возможно.

Используя Свойство Dock = Fill, вы можете попросить компонент занять всю комнату в своем контейнере.

Теперь, используя TableLayoutPanel, вы можете определить ячейки, в которые будут помещены ваши компоненты. И, задав ячейке процентный размер, вы можете быть уверены, что размеры изменятся при изменении размера формы ...

Вот дополнительная информация об этих вещах:

person Martin Verjans    schedule 14.06.2016
comment
Я этого не знала ... спасибо, похоже, это применимо к моему случаю. - person mzurita; 14.06.2016