Проблема разрешения Windows Forms - PullRequest
4 голосов
/ 15 января 2010

Я разработал экран с разрешением 1024 * 780 в Windows Forms, но некоторые говорят, что он не подходит должным образом при более высоких разрешениях.Есть ли способ справиться с этим?

Есть ли способ заставить приложения Windows Forms выглядеть одинаково для ВСЕХ разрешений?

Ответы [ 3 ]

5 голосов
/ 15 января 2010

Я рекомендую не столько «сделать так, чтобы все выглядело одинаково» на всех экранах, но скорее разработать графический интерфейс для более плавного масштабирования. Менеджеры раскладок, стыковки и якоря - ваши друзья в Winforms. TableLayoutPanel весьма полезен для такого рода вещей. Сплиттеры тоже помогают ...

Наконец, это одна из тех проблем, которые WPF намеревается решить. WPF широко использует менеджеры по расположению. Это больше похоже на Java или GTK, чем Winforms или даже VB (Old School VB).

0 голосов
/ 08 августа 2014

Вы можете использовать свойство привязки элемента, а свойство autoScaleMode формы, установленное равным «Нет».

0 голосов
/ 15 января 2010

Это то, что заставляет вас говорить: «Должен быть лучший способ».

На этот раз я решил объявить глобальную переменную ScalingFactor, привязанную к текущему разрешению экрана.,Затем размеры каждого визуального элемента умножались на этот коэффициент.

Итак, если я разработал форму для разрешения A, а разрешение B будет в 1,2 раза больше, ширина окна A будет равна * 1,2,шрифты будут fontSize * 1.2, размеры текстового поля будут размерами * 1.2.

Не весело.

Могут быть сторонние инструменты, которые вы можете купить и которые будут выполнять это масштабирование.*

Еще одна вещь, которую необходимо проверить перед тем, как вы поедете по любой из этих дорог, заключается в том, действительно ли разрешение экрана или настройки dpi заставляют его выглядеть плохо.Обычно при более высоком разрешении он будет выглядеть только меньше, но нетипичное dpi, например, когда пользователь выбирает «большие шрифты», приведет к хаосу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...