Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Элемент <add> добавляет предопределенный ключ, указывающий, поддерживает ли приложение form Windows функции, добавленные в приложения 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>, каждый из которых определяет определенный параметр конфигурации.
Общие сведения о поддержке Windows Forms высокой DPI см. в разделе Поддержка 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. Вы можете отказаться от поддержки Windows Forms для осведомленности о DPI, задав значение этого ключа для 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.
AutoScaleMode
Режим по умолчанию AutoScaleMode.Font масштабирует элементы управления на основе текущего размера шрифта системы. Метрики шрифта могут различаться на разных уровнях DPI, поэтому масштабирование шрифтов может не быть линейным, если приложение работает как системное DPI-поддерживающее или на монитор версии 2 DPI (см SystemAware . и PerMonitorV2). Это может привести к несоответствиям в соотношениях высоты к ширине. Режим AutoScaleMode.Dpi всегда линейный и не имеет этого ограничения.
Имейте в виду, что некоторые элементы управления, например TextBox и Label— всегда используйте масштабирование шрифтов независимо от AutoScaleMode параметра. Из-за этих различий в каждом элементе управления не всегда легко определить, какой режим лучше работает без знания конкретных требований к проектированию.
Начиная с .NET 8, когда приложение Windows Forms работает в PerMonitorV2 DPI осведомленности, размер окна верхнего уровня учитывает AutoScaleMode, что улучшает согласованность с масштабированием дочерних элементов управления. Дополнительные сведения см. в статье о масштабировании окна верхнего уровня.
DisableDpiChangedMessageHandling
Начиная с .NET Framework 4.7 элементы управления Windows Forms вызывают ряд событий, связанных с изменениями в масштабировании DPI. К ним относятся DpiChangedAfterParentсобытия DpiChangedBeforeParentи DpiChanged события. Значение ключа DisableDpiChangedMessageHandling определяет, создаются ли эти события в приложении Windows Forms.
Масштабирование с одним проходом
Масштабирование с одним или несколькими передачами влияет на воспринимаемую скорость реагирования пользовательского интерфейса и визуальный вид элементов пользовательского интерфейса по мере их масштабирования. Начиная с .NET Framework 4.7, Windows Forms использует масштабирование одного прохода. В предыдущих версиях .NET Framework масштабирование выполнялось с помощью нескольких проходов, что привело к увеличению масштаба некоторых элементов управления, чем было необходимо. Масштабирование с одним проходом должно быть отключено только в том случае, если приложение зависит от старого поведения.
См. также
- раздел конфигурации Windows Forms
- Поддержка DPI в Windows Forms