2013-06-10 2 views
0

Я программист на C++, и я работаю над проектом миграции, где мне нужно преобразовать код C++ в C#, и у меня мало знаний о C#. Кроме того, клиенты хотят приложения в .net 2.0Windows Forms: Resolution Issue

Выпуск:

  1. При изменении разрешения экрана в низком разрешении, форма добавления полосы прокрутки, чтобы показать все элементы управления на экране. Но клиент хочет без полосы прокрутки, чтобы все элементы управления были видимыми.

  2. Шрифт, применяемый к элементам управления, должен соответствовать размеру управления, даже если мы изменим разрешение на высокий или низкий.

Любые предложения?

+0

У вас есть пример? что добавляет полосу прокрутки? – Sayse

+0

Форма MDI? .... – matzone

+0

@Sayse Есть кнопки, пользовательские элементы управления в форме, все будет испорчено, если я изменю разрешение экрана. – OnlyQuestions

ответ

1

Используйте контейнеры для размещения элементов управления. TableLayoutPanel, вероятно, будет хорошим выбором. Установите для параметра «Закладка DockStyle TableLayoutPanels» значение «Заполнить». TableLayoutPanels позволяют только поместить один элемент управления в каждый раздел, но панели разрешают мультипликаторы, поэтому ставьте панель в каждом разделе и устанавливайте каждый элемент панели DockStyle для заполнения. Расположите свои элементы управления на панелях и установите для каждого элемента управления свойства Anchor или DockStyle, чтобы сохранить их в местоположении. Теперь установите разрешение на минимально возможную настройку и создайте форму. Если вы выполните вышеуказанные шаги, когда вы поднимаете разрешение, все будет в том же относительном местоположении с тем же относительным размером.

Почему это работает: Установка табличных оконных панелей DockStyle to Fill заставляет его авторизовать с помощью родительской формы. Настройка каждой панели DockStyle делает ее автоматизированной с помощью разделов TableLayoutPanels. Элементы крепления/стыковки внутри панелей сохраняют размеры и расстояние между элементами управления относительно панели.