Как написать код WinForms, который автоматически масштабируется до системных шрифтов и настроек dpi?

Вступление: Есть много комментариев, в которых говорится, что «WinForms плохо масштабируется до настроек DPI / шрифта; переключитесь на WPF». Тем не менее, я думаю, что это основано на .NET 1.1; кажется, что они действительно проделали довольно хорошую работу по внедрению автоматического масштабирования в .NET 2.0. По крайней мере, на основании наших исследований и испытаний. Однако, если кто-то из вас знает об этом лучше, мы будем рады услышать от вас.(Пожалуйста, не спорьте о том, что мы должны перейти на WPF ... сейчас это не вариант.)

Вопросы:

Что в WinForms НЕ выполняет автоматическое масштабирование, и поэтому его следует избегать?

Каким правилам разработки следует руководствоваться при написании кода WinForms, чтобы он хорошо масштабировался?

Руководство по проектированию мы определили до сих пор:

Увидетьответ сообщества вики ниже.

Являются ли какие-либо из них неправильными или неадекватными? Любые другие руководящие принципы, которые мы должны принять? Есть ли какие-то другие шаблоны, которых следует избегать? Любое другое руководство по этому вопросу будет очень признателен.

Ответы на вопрос(7)

Ваш ответ на вопрос