Страницы

Поиск по вопросам

суббота, 8 февраля 2020 г.

Масштабируемость приложений Windows Forms

#c_sharp #visual_studio


Как можно обеспечить пропорциональное масштабирование оконных приложений, написанных
VS C#? Чтобы элементы окна, при его развертывании оставались на расстоянии, пропорциональном
измененному размеру формы. 
    


Ответы

Ответ 1



Используйте контролы из категории контейнеры; cкорей всего, вам понадобится TableLayoutPanel. С его помощью нужно будет разметить основной каркас формы, а размеры всех строк и столбцов задать в процентах. Далее, добавляем нужный контрол в ячейку таблицы и, если вы хотите масштабирования за счёт расстояния между контролами — устанавливаем свойство Anchor равным None. Если нужна масштабируемость по размеру — Dock равным Full. И, конечно, одной табличкой вы не ограничитесь. Скорей всего придётся использовать вложенные.

Ответ 2



Вряд ли есть простой способ. Можно сделать так: создать массив координат контролов (например, по левому верхнему краю) на форме, переопределить обработчик WM_SIZING для формы, в обработчике пересчитать массив координат с помощью Graphics.TransformPoints и передвинуть контролы.

Комментариев нет:

Отправить комментарий