Как масштабировать компоненты формы с разрешением экрана в C #? - PullRequest
2 голосов
/ 24 апреля 2011

Я создаю форму с несколькими элементами (pictureBox, панель и несколько надписей в ней), мое приложение работает правильно, когда я запускаю его с разрешением 800 * 600.Но когда я хочу запустить его в другом разрешении (т.е. 1024 * 768), элементы идут в неправильное место.Я хочу масштабировать (по размеру и начальной точке) все элементы формы в соответствии с разрешением экрана.Я знаю, что я должен использовать якорь и док, но я не могу.Я нашел несколько ссылок об использовании этих методов, но они не работают.Я использую Visual Studio 2010.

Есть ли кто-нибудь, кто знает решение моей проблемы?

Большое спасибо

1 Ответ

0 голосов
/ 24 апреля 2011

Вы говорите о двух разных проблемах.

  1. Независимость масштабирования / разрешения пользовательского интерфейса - этого невозможно достичь с помощью стандартных WinForms.Главным образом потому, что стандартное рисование GDI, которое использует WinForms, никогда не задумывалось об этой опции.Это позволило бы масштабировать ваш пользовательский интерфейс, чтобы относительные размеры и позиции всегда были одинаковыми, но, вероятно, он выглядел бы по-разному.

  2. Динамическое расположение - этот метод позволяет вашим элементам управления определять размер и положениена основании разрешения.WinForms имеет ограниченные возможности в этом, но это может быть ограничено, используя свойства Dock и Anchor всех элементов управления.Это не имеет ничего общего с независимостью от масштабирования или разрешения.

    Кроме того, некоторые сторонние библиотеки предлагают своего рода расширение для обеспечения более динамического макетирования.

WPF значительноболее продвинутый как в масштабировании пользовательского интерфейса (потому что он основан на векторах), так и в макете (потому что он использует двухпроходную компоновку).Но для этого нужно сначала перейти на эту технологию.

...