Partager via


Élément de configuration Add de Windows Forms

L’élément <add> ajoute une clé prédéfinie qui spécifie si votre application Windows Form prend en charge les fonctionnalités ajoutées aux applications Windows Forms dans .NET Framework 4.7 ou version ultérieure.

Syntaxe

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

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut Description
key Attribut requis. Nom de clé prédéfini qui correspond à une fonctionnalité personnalisable particulière de Windows Forms.
value Attribut requis. Valeur à assigner à key.

Noms d’attributs key et valeurs associées

Nom key Valeurs Description
« AnchorLayout.DisableSinglePassControlScaling » « true »|« false » Indique si les contrôles ancrés sont mis à l’échelle en un seul passage. À définir sur « true » pour désactiver la mise à l’échelle en un seul passage ; sinon, « false ». Pour plus d’informations, consultez la section « Mise à l’échelle en un seul passage » des Remarques.
« DpiAwareness » « PerMonitorV2 »|« false » Indique si une application prend en charge PPP. Définissez la clé sur « PerMonitorV2 » pour activer la prise en charge PPP ; sinon, définissez-la sur « false ». La prise en charge PPP est une fonctionnalité d’acceptation ; pour activer la prise en charge de la haute résolution dans Windows Forms, vous devez définir sa valeur sur « PerMonitorV2 ». Pour plus d’informations, consultez la section Remarques.
« CheckedListBox.DisableHighDpiImprovements » « true »|« false » Indique si le contrôle CheckedListBox tire parti des améliorations introduites dans .NET Framework 4.7 en matière de mise à l’échelle et de layout. À définir sur « true » pour refuser ces améliorations ; sinon, « false ».
« DataGridView.DisableHighDpiImprovements » « true »|« false » Indique si le contrôle DataGridView tire parti des améliorations introduites dans .NET Framework 4.7 en matière de mise à l’échelle et de layout. À définir sur « true » pour refuser la prise en charge PPP ; sinon, « false ».
« DisableDpiChangedMessageHandling » « true »|« false » À définir sur « true » pour refuser de recevoir des messages liés aux changements de mise à l’échelle PPP ; sinon, « false ». Pour plus d’informations, consultez la section Remarques.
« EnableWindowsFormsHighDpiAutoResizing » « true »|« false » Indique si une application Windows Forms est automatiquement redimensionnée suite à des changements de mise à l’échelle PPP. À définir sur « true » pour activer le redimensionnement automatique  ; sinon, « false ».
« Form.DisableSinglePassControlScaling » « true »|« false » Indique si le contrôle Form est mis à l’échelle en un seul passage. À définir sur « true » pour désactiver la mise à l’échelle en un seul passage ; sinon, « false ». Pour plus d’informations, consultez la section « Mise à l’échelle en un seul passage » des Remarques.
« MonthCalendar.DisableSinglePassControlScaling » « true »|« false » Indique si le contrôle MonthCalendar est mis à l’échelle en un seul passage. À définir sur « true » pour désactiver la mise à l’échelle en un seul passage ; sinon, « false ». Pour plus d’informations, consultez la section « Mise à l’échelle en un seul passage » des Remarques.
« Toolstrip.DisableHighDpiImprovements » « true »|« false » Indique si le contrôle ToolStrip tire parti des améliorations introduites dans .NET Framework 4.7 en matière de mise à l’échelle et de layout. À définir sur « true » pour refuser la prise en charge PPP ; sinon, « false ».

Éléments enfants

Aucune.

Éléments parents

Élément Description
<System.Windows.Forms.ApplicationConfigurationSection> Configure la prise en charge des nouvelles fonctionnalités de l’application Windows Forms.

Notes

À partir de .NET Framework 4.7, l’élément <System.Windows.Forms.ApplicationConfigurationSection> vous permet de configurer les applications Windows Forms de manière à tirer parti des fonctionnalités ajoutées dans les dernières versions de .NET Framework.

L’élément <System.Windows.Forms.ApplicationConfigurationSection> vous permet d’ajouter un ou plusieurs éléments <add> enfants, chacun définissant un paramètre de configuration spécifique.

Pour obtenir une vue d’ensemble de la prise en charge de la haute résolution dans Windows Forms, consultez Prise en charge de la haute résolution dans Windows Forms.

DpiAwareness

Les applications Windows Forms exécutées sous Windows 10 Creators Edition (et versions ultérieures de Windows) et sous .NET Framework 4.7 (et versions cibles ultérieures de .NET Framework) peuvent être configurées pour tirer parti des améliorations introduites dans .NET Framework 4.7 en matière de haute résolution. Il s’agit notamment des paramètres suivants :

  • Prise en charge des scénarios PPP dynamiques dans lesquels l’utilisateur modifie PPP ou le facteur d’échelle après le lancement d’une application Windows Forms.

  • Améliorations apportées à un certain nombre de contrôles Windows Forms, tels que le contrôle MonthCalendar et le contrôle CheckedListBox, en termes de mise à l’échelle et de layout.

La prise en charge de la haute résolution est une fonctionnalité d’acceptation ; par défaut, la valeur de DpiAwareness est false. Vous pouvez choisir la prise en charge de Windows Forms pour la prise en charge des ppp en définissant la valeur de cette clé PerMonitorV2 dans le fichier de configuration de l’application. Si la prise en charge PPP est activée, toutes les fonctionnalités PPP individuelles le sont également. Il s’agit notamment des paramètres suivants :

  • Messages relatifs à la modification de la prise en charge PPP, contrôlés par la clé DisableDpiChangedMessageHandling.

  • Prise en charge PPP dynamique, contrôlée par la clé EnableWindowsFormsHighDpiAutoResizing.

  • Mise à l’échelle de contrôle en un seul passage, contrôlée par la clé Form.DisableSinglePassControlScaling pour les contrôles individuels Form, par la clé AnchorLayout.DisableSinglePassControlScaling pour les contrôles ancrés et par la clé MonthCalendar.DisableSinglePassControlScaling pour le contrôle MonthCalendar

  • Améliorations apportées à la haute résolution en termes de mise à l’échelle et de layout, contrôlées par la clé CheckListBox.DisableHighDpiImprovements pour le contrôle CheckedListBox, par la clé DataGridView.DisableHighDpiImprovements pour le contrôle DataGridView et par la clé Toolstrip.DisableHighDpiImprovements pour le contrôle ToolStrip.

Le paramètre d’acceptation par défaut fourni en définissant DpiAwareness sur PerMonitorV2 convient généralement aux nouvelles applications Windows Forms. Toutefois, vous pouvez refuser les améliorations individuelles de la haute résolution en ajoutant la clé correspondante au fichier de configuration de l’application. Par exemple, pour tirer parti de toutes les nouvelles fonctionnalités PPP, à l’exception de la prise en charge PPP dynamique, vous devez ajouter ce qui suit au fichier de configuration de votre application :

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

En règle générale, vous refusez une fonctionnalité particulière lorsque vous choisissez de la gérer par programmation.

Pour plus d’informations sur la prise en charge de la haute résolution dans les applications Windows Forms, consultez Prise en charge de la haute résolution dans Windows Forms.

DisableDpiChangedMessageHandling

À partir de .NET Framework 4.7, les contrôles Windows Forms déclenchent un certain nombre d’événements liés aux modifications apportées à la mise à l’échelle PPP. Il s’agit notamment des événements DpiChangedAfterParent, DpiChangedBeforeParent et DpiChanged. La valeur de la clé DisableDpiChangedMessageHandling détermine si ces événements sont déclenchés dans une application Windows Forms.

Mise à l’échelle en un seul passage

La mise à l’échelle en un ou plusieurs passages détermine la réactivité perçue de l’interface utilisateur et l’aspect visuel des éléments de celle-ci lorsqu’ils sont mis à l’échelle. À partir de .NET Framework 4.7, Windows Forms utilise une mise à l’échelle en un seul passage. Dans les versions précédentes de .NET Framework, la mise à l’échelle s’effectuait en plusieurs passages, et s’appliquait parfois inutilement à certains contrôles. La mise à l’échelle en un seul passage ne doit être désactivée que si votre application dépend de l’ancien comportement.

Voir aussi