Проблема с масштабированием сетки кнопок в приложении C# WinformsC#

Место общения программистов C#
Ответить
Anonymous
 Проблема с масштабированием сетки кнопок в приложении C# Winforms

Сообщение Anonymous »

Я работаю над приложением WinForms на C#, которое динамически генерирует сетку кнопок во время выполнения. Приложение отлично работает на мониторе ПК с масштабом 100 %, но когда я запускаю его на дисплее ноутбука (с масштабом 125 %), макет не настраивается должным образом, а кнопки кажутся смещенными или растянутыми.
Что я пробовал:
  • Я установил для dpiAware значение true, а для dpiAwareness — значение PerMonitorV2 в app.manifest. файл.
  • Я также пробовал установить для AutoScaleMode значения «Шрифт» и «Dpi» в главной форме. (в настоящее время это шрифт)
Я попробовал несколько решений, связанных с этим, на StackOverflow.
В том числе:
  • Масштабирование DPI в Windows Forms и некоторые другие
  • документация из Microsoft здесь
и несколько других подобных решений.
Однако ни одно из этих изменений не решило проблему.
--
Как это выглядит на мониторе ПК в 100% масштабе
Изображение

Как это выглядит на мониторе ноутбука Масштаб 125 %
Изображение

Есть ли в WinForms дополнительные шаги или настройки, которые мне следует использовать, чтобы это исправить?
Будем очень признательны за любые рекомендации, ссылки на статьи или ресурсы.[Редактировать] Я использую .Net 4.8.
Использование автоматического размера, как упомянуто в комментарии @Jimi ниже, приводит к увеличению размера некоторых кнопок. Я предпочитаю масштабировать или «нормализовать» содержимое внутри кнопки, то есть масштабировать размер шрифта, чтобы кнопки выглядели одинаково.
Возможно ли это?

Подробнее здесь: https://stackoverflow.com/questions/791 ... nforms-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»