Теоретически, масштабирование шрифта и DPI в Winforms происходит автоматически. На практике ... не так много.
Я заметил, что с вертикальным масштабированием он справляется лучше, чем горизонтальный, но даже в этом случае он далек от совершенства.
По моему опыту, масштабирование надежно только тогда, когда вы делаете одну из двух вещей:
Не используйте дизайнер вообще. Это довольно болезненно, но дает вам необходимый контроль над вашим макетом.
Используйте встроенные элементы управления макетом, в частности, FlowLayoutPanel
и TableLayoutPanel
. Эти ребята твои лучшие друзья; Я редко делаю что-либо в Winforms без них.
В вашем случае, я бы, наверное, пошел с # 2. Основываясь на снимке экрана, я думаю, что было бы довольно просто разместить ваш макет в комбинации контейнеров TableLayoutPanel
и FlowLayoutPanel
- возможно, даже в одном TableLayoutPanel
.