AutoScaling WinForm Display (маленький, средний)

Прежде всего, пожалуйста, прости меня, но мои скриншоты сделаны на французском языке из-за моей установки Windows на работе. Это все еще очень легко понять, хотя. Я добавлю скриншоты, чтобы сделать его более привлекательным.

Вот некоторая справочная информация:

  • Windows 7 64bit
  • Visual Studio 2010
  • По умолчанию отображается 100%
  • AutoScaleMode: DPI
  • AutoSize: True

Свойства формы

Мое приложение представляет собой форму окна, которая была разработана на дисплее по умолчанию (маленький - 100%). Вот так:Маленький (по умолчанию) дисплей

Как видите, "Маленький" или " Маленький" дисплей - это выбор по умолчанию.

Маленький дисплей - 100% (по умолчанию)

Вот как выглядит мое приложение с этим параметром. Это правильный дисплейИдеальный дисплей

Средний дисплей - 125%

Красные прямоугольники указывают на нежелательное пустое пространство.Дисплей на среднем или 125 процентов

Я пытался:

  • Привязка / закрепление моих элементов управления, таких как мои разделенные контейнеры, панели макета таблицы, представления списков в Form_Load и через пользовательский интерфейс. Это не сработало.
  • Добавление разделенного контейнера в форму, и все элементы управления соответственно разделены на нее.
  • Добавление панелей макета таблицы, где все текстовые поля и кнопки расположены в соответствующих ячейках

Я действительно думал, что это проблема масштабирования из-за якоря и стыковки. Хотя это, похоже, и не было проблемой... Похоже, что возникли проблемы - это элемент управления Tab и Listviews ...

Некоторые пользователи (большинство) имеют свои настройки по умолчанию (100%), но есть несколько, у которых они имеют среднюю настройку, вызывая эту проблему масштабирования. Есть ли способ это исправить?

3 ответа

Решение

Я исправил свою проблему, поместив элементы управления вкладками и представления списка в табличную панель. Все, что не было должным образом масштабировано, должно быть помещено в TableLayoutPanel. Я сохранил свой AutoScaleMode в DPI а также AutoSize в True

Обязательно закрепите все в своих родительских контейнерах.

Вот схема документа для более наглядного (как я):

Контур

По какой-то причине я не вижу ваши скриншоты или ссылки, поэтому не могу представить проблему. Если проблема в масштабировании, попробуйте установить AutoScaleMode в None,

Мне недавно пришлось сделать это, потому что мое приложение winform было интенсивным с изображениями, и оно не отображалось правильно в настройках среды, потому что я построил его с использованием стандартного дисплея малых настроек. Изменение режима масштабирования на None работал на меня.

Просто нажмите на форму и перейдите на панель свойств. Найдите элемент "Якорь" и щелкните раскрывающийся список. Вы нажимаете на все линии в квадратной структуре, чтобы стать серым. Затем нажмите Enter. Проблема решена.

Другие вопросы по тегам