Member 10390715 Ответов: 3

Как автоматически масштабировать все компоненты в winform C# на основе разрешения дисплея?


Привет
У меня есть проблема с winform C# windows.
Я пишу код в ноутбук с дисплеем 15.6 дюймов, мой winform является полноценной Windows. Но когда я устанавливаю это приложение в desktop 21 inchs, zoom windows, мое приложение имеет много места, которое не используется.
Я могу автоматически масштабировать его? Адаптивность с разрешением дисплея?
Пожалуйста, помогите мне. Спасибо.

3 Ответов

Рейтинг:
22

Sergey Alexandrovich Kryukov

Техника, на которую вы ссылаетесь, может быть полезна (а 5), но вся проблема неправильно поставлена, проистекает из неправильного подхода использования фиксированной компоновки, что плохо. Пожалуйста, смотрите решение 2.
—СА

Member 10390715

Спасибо за вашу помощь!

CPallini

Добро пожаловать.

Wendelius

Хорошие ссылки, 5!

CPallini

Спасибо.

Рейтинг:
12

Sergey Alexandrovich Kryukov

Вместо "автоматического масштабирования" вам следует лучше разработать жидкий макет, который автоматически адаптируется к любому разумному размеру формы. В принципе, уходите от фиксированной компоновки, избавляйтесь от ручных размеров и позиций, раскладывайте все на основе свойств Dock и Padding Если речь идет о форме, которая обычно больше, чем экран при его проектном размере, вы можете запустить ее как развернутую . Пожалуйста, посмотрите мои прошлые ответы:
Зом из неполадок, когда разрешение экрана меняется[^],
как закрепить кнопку так, чтобы она могла подстраиваться под форму[^] (смотрите пример рудиментарного кода здесь).

Смотреть также: Графический внешний вид - C#.Net[^].

—СА


CPallini

5.

Sergey Alexandrovich Kryukov

Спасибо, Карло.
—СА

Member 10390715

Спасибо за помощь. Я должен узнавать все больше и больше

Sergey Alexandrovich Kryukov

Это отличный настрой, одна из предпосылок успеха. Мы всегда рады вам.
—СА

Рейтинг:
0

Ersin Kecis

Я рекомендую использовать компонент TableLayoutPanel.