Поделиться через


Элемент конфигурации Add Windows Forms

Элемент <add> добавляет предопределенный ключ, указывающий, поддерживает ли приложение Windows Form функции, добавленные в приложения Windows Forms в платформа .NET Framework 4.7 или более поздней версии.

Синтаксис

<System.Windows.Forms.ApplicationConfigurationSection>
  <add key="key-name" value="key-value" />
</System.Windows.Forms.ApplicationConfigurationSection>

Элементы и атрибуты

В следующих разделах описаны атрибуты, дочерние и родительские элементы.

Атрибуты

Атрибут Description
key Обязательный атрибут элемента . Предопределенное имя ключа, соответствующее определенной настраиваемой функции Windows Forms.
value Обязательный атрибут элемента . Значение, которое keyнеобходимо назначить.

key имена атрибутов и связанные значения

Имя в key Значения Description
"AnchorLayout.DisableSinglePassControlScaling" "true"|"false" Указывает, масштабируются ли привязанные элементы управления в одном проходе. Значение true, чтобы отключить масштабирование одного прохода; в противном случае значение false. Дополнительные сведения см. в разделе "Масштабирование одного прохода" в примечаниях .
"DpiAwareness" PerMonitorV2"|" false" Указывает, учитывает ли приложение DPI. Задайте для ключа значение PerMonitorV2 для поддержки осведомленности о DPI; в противном случае присвойте ему значение false. Осведомленность о DPI — это функция согласия; чтобы воспользоваться высокой поддержкой DPI Windows Forms, необходимо задать для него значение PerMonitorV2. Дополнительные сведения см. в разделе "Примечания".
"CheckedListBox.DisableHighDpiImprovements" "true"|"false" Указывает, использует ли CheckedListBox элемент управления преимущества масштабирования и улучшения макета, представленные в платформа .NET Framework 4.7. "true", чтобы отказаться от масштабирования и улучшения макета; в противном случае — false.
"DataGridView.DisableHighDpiImprovements" "true"|"false" Указывает, внесены ли улучшения масштабирования и макета DataGridView элементов управления в платформа .NET Framework 4.7. "true", чтобы отказаться от осведомленности о DPI; Значение false в противном случае.
"DisableDpiChangedMessageHandling" "true"|"false" "true", чтобы отказаться от получения сообщений, связанных с изменениями масштабирования DPI; Значение false в противном случае. Дополнительные сведения см. в разделе "Примечания".
"EnableWindowsFormsHighDpiAutoResizing" "true"|"false" Указывает, автоматически ли изменяется размер приложения Windows Forms из-за изменений масштабирования DPI. Значение true для включения автоматического изменения размера; в противном случае значение false.
Form.DisableSinglePassControlScaling "true"|"false" Указывает, масштабируется ли масштаб Form в одном проходе. Значение true, чтобы отключить масштабирование с одним проходом; в противном случае значение false. Дополнительные сведения см. в разделе "Масштабирование одного прохода" в примечаниях .
"MonthCalendar.DisableSinglePassControlScaling" "true"|"false" Указывает, масштабируется ли MonthCalendar элемент управления в одном проходе. Значение true, чтобы отключить масштабирование с одним проходом; в противном случае значение false. Дополнительные сведения см. в разделе "Масштабирование одного прохода" в примечаниях .
"Toolstrip.DisableHighDpiImprovements" "true"|"false" Указывает, использует ли ToolStrip элемент управления преимущества масштабирования и улучшения макета, представленные в платформа .NET Framework 4.7. "true", чтобы отказаться от осведомленности о DPI; Значение false в противном случае.

Дочерние элементы

Нет.

Родительские элементы

Элемент Description
<System.Windows.Forms.ApplicationConfigurationSection> Настраивает поддержку новых функций приложений Windows Forms.

Замечания

Начиная с платформа .NET Framework 4.7, <System.Windows.Forms.ApplicationConfigurationSection> элемент позволяет настроить приложения Windows Forms, чтобы воспользоваться преимуществами функций, добавленных в последних выпусках платформа .NET Framework.

Элемент <System.Windows.Forms.ApplicationConfigurationSection> позволяет добавлять один или несколько дочерних <add> элементов, каждый из которых определяет определенный параметр конфигурации.

Общие сведения о поддержке высокого уровня DPI в Windows Forms см. в статье "Поддержка высокого уровня DPI" в Windows Forms.

DpiAwareness

Приложения Windows Forms, которые выполняются в версиях Windows, начиная с Windows 10 Creators Edition и целевых версий платформа .NET Framework начиная с версии платформа .NET Framework 4.7, можно настроить, чтобы воспользоваться преимуществами усовершенствований DPI, представленных в платформа .NET Framework 4.7. Например:

  • Поддержка сценариев с динамическим DPI, в которых пользователь изменяет DPI или коэффициент масштабирования после запуска приложения Windows Forms.

  • Улучшения масштабирования и макетирования ряда элементов управления Windows Forms, таких как MonthCalendar и CheckedListBox.

Высокий уровень осведомленности о DPI — это функция согласия; по умолчанию значение DpiAwareness равно false. Вы можете выбрать поддержку защиты от DPI в Windows Forms, задав значение этого ключа PerMonitorV2 в файле конфигурации приложения. Если включена осведомленность о DPI, также включены все отдельные функции DPI. Например:

  • Измененные сообщения DPI, контролируемые ключом DisableDpiChangedMessageHandling .

  • Динамическая поддержка DPI, контролируемая ключом EnableWindowsFormsHighDpiAutoResizing .

  • Масштабирование с одним проходом, которое управляется Form.DisableSinglePassControlScaling отдельными Form элементами управления, AnchorLayout.DisableSinglePassControlScaling ключом для привязанных элементов управления и MonthCalendar.DisableSinglePassControlScaling ключом для MonthCalendar элемента управления

  • Улучшения масштабирования и макета с высоким уровнем DPI, контролируемые CheckListBox.DisableHighDpiImprovements ключом элемента управления, DataGridView.DisableHighDpiImprovements ключом DataGridView для CheckedListBox элемента управления и Toolstrip.DisableHighDpiImprovements ключом для ToolStrip элемента управления.

Единый параметр согласия по умолчанию, предоставляемый параметром DpiAwareness PerMonitorV2 , как правило, подходит для новых приложений Windows Forms. Однако вы можете отказаться от отдельных улучшений с высоким уровнем DPI, добавив соответствующий ключ в файл конфигурации приложения. Например, чтобы воспользоваться всеми новыми функциями DPI, кроме динамической поддержки DPI, вы добавите в файл конфигурации приложения следующее:

<System.Windows.Forms.ApplicationConfigurationSection>
   <add key="DpiAwareness" value="PerMonitorV2" />
   <!-- Disable dynamic DPI support -->
   <add key="EnableWindowsFormsHighDpiAutoResizing" value="false" />
</System.Windows.Forms.ApplicationConfigurationSection>

Как правило, вы отказываетесь от определенной функции, так как вы решили обрабатывать ее программным способом.

Дополнительные сведения об использовании поддержки высокого уровня DPI в приложениях Windows Forms см. в статье "Поддержка высокого уровня DPI" в Windows Forms.

DisableDpiChangedMessageHandling

Начиная с платформа .NET Framework 4.7 элементы управления Windows Forms вызывают ряд событий, связанных с изменениями в масштабировании DPI. К ним относятся DpiChangedAfterParentсобытия DpiChangedBeforeParentи DpiChanged события. Значение DisableDpiChangedMessageHandling ключа определяет, создаются ли эти события в приложении Windows Forms.

Масштабирование с одним проходом

Масштабирование с одним или несколькими передачами влияет на воспринимаемую скорость реагирования пользовательского интерфейса и визуальный вид элементов пользовательского интерфейса по мере их масштабирования. Начиная с платформа .NET Framework 4.7 Windows Forms использует масштабирование с одним проходом. В предыдущих версиях платформа .NET Framework масштабирование выполнялось с помощью нескольких проходов, что привело к увеличению масштаба некоторых элементов управления, чем было необходимо. Масштабирование с одним проходом должно быть отключено только в том случае, если приложение зависит от старого поведения.

См. также