Windows Forms: Konfigurationselement hinzufügen
Das <add>
-Element fügt einen vordefinierten Schlüssel hinzu, der angibt, ob Ihre Windows Forms-App Features unterstützt, die Windows Forms-Apps in .NET Framework 4.7 oder höher hinzugefügt wurden.
Syntax
<System.Windows.Forms.ApplicationConfigurationSection>
<add key="key-name" value="key-value" />
</System.Windows.Forms.ApplicationConfigurationSection>
Attribute und Elemente
In den folgenden Abschnitten werden Attribute sowie untergeordnete und übergeordnete Elemente beschrieben.
Attribute
Attribut | Beschreibung |
---|---|
key |
Erforderliches Attribut. Dies ist ein vordefinierter Schlüsselname, der einem bestimmten anpassbaren Windows Forms-Feature entspricht. |
value |
Erforderliches Attribut. Der Wert, der dem key zugewiesen werden soll. |
key
-Attributnamen und zugeordnete Werte
key -Name |
Werte | Beschreibung |
---|---|---|
"AnchorLayout.DisableSinglePassControlScaling" | "true"|"false" | Hiermit wird angegeben, ob verankerte Steuerelemente in einem einzigen Durchlauf skaliert werden. Mit "true" wird die Single-Pass-Skalierung deaktiviert (andernfalls "false"). Weitere Informationen finden Sie im Abschnitt „Single-Pass-Skalierung“ in den Hinweisen. |
"DpiAwareness" | "PerMonitorV2"|"false" | Hiermit wird angegeben, ob eine Anwendung DPI-fähig ist. Legen Sie den Schlüssel auf "PerMonitorV2" fest, um die DPI-Werte zu unterstützen. Legen Sie ihn andernfalls auf "false" fest. Die DPI-Unterstützung ist ein aktivierbares Feature. Um die Windows Forms-Unterstützung für hohe DPI nutzen zu können, sollten Sie den Wert auf "PerMonitorV2" festlegen. Weitere Informationen finden Sie im Abschnitt Hinweise. |
"CheckedListBox.DisableHighDpiImprovements" | "true"|"false" | Hiermit wird angegeben, ob das CheckedListBox-Steuerelement die in .NET Framework 4.7 eingeführten Skalierungs- und Layoutverbesserungen nutzt. Verwenden Sie "true", um die Skalierungs- und Layoutverbesserungen zu deaktivieren (andernfalls "false"). |
"DataGridView.DisableHighDpiImprovements" | "true"|"false" | Hiermit wird angegeben, ob das DataGridView-Steuerelement die in .NET Framework 4.7 eingeführten Skalierungs- und Layoutverbesserungen nutzt. Verwenden Sie "true", um die DPI-Unterstützung zu deaktivieren (andernfalls "false"). |
"DisableDpiChangedMessageHandling" | "true"|"false" | Verwenden Sie "true", um den Empfang von Nachrichten im Zusammenhang mit DPI-Skalierungsänderungen zu deaktivieren (andernfalls "false"). Weitere Informationen finden Sie im Abschnitt Hinweise. |
"EnableWindowsFormsHighDpiAutoResizing" | "true"|"false" | Hiermit wird angegeben, ob die Größe einer Windows Forms-Anwendung aufgrund von DPI-Skalierungsänderungen automatisch geändert wird. Verwenden Sie "true", um die automatische Größenänderung zu aktivieren (andernfalls "false"). |
"Form.DisableSinglePassControlScaling" | "true"|"false" | Hiermit wird angegeben, ob die Form-Klasse in einem einzelnen Durchlauf skaliert wird. Mit "true" wird die Single-Pass-Skalierung deaktiviert (andernfalls "false"). Weitere Informationen finden Sie im Abschnitt „Single-Pass-Skalierung“ in den Hinweisen. |
"MonthCalendar.DisableSinglePassControlScaling" | "true"|"false" | Hiermit wird angegeben, ob für das MonthCalendar-Steuerelement eine Single-Pass-Skalierung durchgeführt wird. Mit "true" wird die Single-Pass-Skalierung deaktiviert (andernfalls "false"). Weitere Informationen finden Sie im Abschnitt „Single-Pass-Skalierung“ in den Hinweisen. |
"Toolstrip.DisableHighDpiImprovements" | "true"|"false" | Hiermit wird angegeben, ob das ToolStrip-Steuerelement die in .NET Framework 4.7 eingeführten Skalierungs- und Layoutverbesserungen nutzt. Verwenden Sie "true", um die DPI-Unterstützung zu deaktivieren (andernfalls "false"). |
Untergeordnete Elemente
Keine
Übergeordnete Elemente
Element | Beschreibung |
---|---|
<System.Windows.Forms.ApplicationConfigurationSection> |
Dieses Element konfiguriert die Unterstützung für neue Windows Forms-Anwendungsfeatures. |
Bemerkungen
Ab .NET Framework 4.7 ermöglicht das <System.Windows.Forms.ApplicationConfigurationSection>
-Element die Konfiguration von Windows Forms-Anwendungen für die Nutzung von Features, die in neueren Releases des .NET Framework hinzugefügt werden.
Mit dem Element <System.Windows.Forms.ApplicationConfigurationSection>
können Sie ein oder mehrere untergeordnete <add>
-Elemente hinzufügen, die jeweils eine bestimmte Konfigurationseinstellung definieren.
Eine Übersicht über die Unterstützung für hohe DPI in Windows Forms finden Sie unter Unterstützung für hohe DPI in Windows Forms.
DpiAwareness
Windows Forms-Apps, die unter Windows-Versionen ab Windows 10 Creators Edition ausgeführt werden und .NET Framework-Versionen ab .NET Framework 4.7 als Ziel haben, können so konfiguriert werden, dass sie die in .NET Framework 4.7 eingeführten Verbesserungen für hohe DPI-Werte nutzen können. Dazu gehören:
Unterstützung für dynamische DPI-Szenarien, in denen der Benutzer den DPI- oder Skalierungsfaktor ändert, nachdem eine Windows Forms-Anwendung gestartet wurde.
Verbesserungen bei der Skalierung und dem Layout einer Reihe von Windows Forms-Steuerelementen, z. B. dem Steuerelement MonthCalendar und dem Steuerelement CheckedListBox.
Die Unterstützung für hohe DPI-Werte ist ein aktivierbares Feature. Der DpiAwareness
-Wert lautet standardmäßig false
. Sie können die Unterstützung von Windows Forms für die DPI-Sensibilisierung aktivieren, indem Sie den Wert dieses Schlüssels PerMonitorV2
in der Anwendungskonfigurationsdatei festlegen. Wenn die DPI-Unterstützung aktiviert ist, sind auch alle einzelnen DPI-Features aktiviert. Dazu gehören:
DPI-geänderte Nachrichten, die vom
DisableDpiChangedMessageHandling
-Schlüssel gesteuert werdenDynamische DPI-Unterstützung, die vom
EnableWindowsFormsHighDpiAutoResizing
-Schlüssel gesteuert wirdSingle-Pass-Steuerelementskalierung, die von
Form.DisableSinglePassControlScaling
für einzelne Form-Steuerelemente, demAnchorLayout.DisableSinglePassControlScaling
-Schlüssel für verankerte Steuerelemente und demMonthCalendar.DisableSinglePassControlScaling
-Schlüssel für das MonthCalendar-Steuerelement gesteuert wirdSkalierungs- und Layoutverbesserungen für hohe DPI-Werte, die vom
CheckListBox.DisableHighDpiImprovements
-Schlüssel für das CheckedListBox-Steuerelement, demDataGridView.DisableHighDpiImprovements
-Schlüssel für das DataGridView-Steuerelement und demToolstrip.DisableHighDpiImprovements
-Schlüssel für das ToolStrip-Steuerelement gesteuert werden
Die einzelne aktivierbare Standardeinstellung, die durch Festlegen von DpiAwareness
auf PerMonitorV2
verfügbar wird, eignet sich in der Regel für neue Windows Forms-Anwendungen. Sie können jedoch einzelne Verbesserungen für hohe DPI-Werte deaktivieren, indem Sie der Anwendungskonfigurationsdatei den entsprechenden Schlüssel hinzufügen. Wenn Sie beispielsweise alle neuen DPI-Features mit Ausnahme der dynamischen DPI-Unterstützung nutzen möchten, fügen Sie der Anwendungskonfigurationsdatei Folgendes hinzu:
<System.Windows.Forms.ApplicationConfigurationSection>
<add key="DpiAwareness" value="PerMonitorV2" />
<!-- Disable dynamic DPI support -->
<add key="EnableWindowsFormsHighDpiAutoResizing" value="false" />
</System.Windows.Forms.ApplicationConfigurationSection>
In der Regel deaktivieren Sie ein bestimmtes Feature, da Sie sich dafür entschieden haben, es programmgesteuert zu verarbeiten.
Weitere Informationen zum Nutzen der Unterstützung für hohe DPI-Werte in Windows Forms-Anwendungen finden Sie unter Unterstützung hoher DPI-Werte in Windows Forms.
DisableDpiChangedMessageHandling
Ab .NET Framework 4.7 lösen Windows Forms-Steuerelemente eine Reihe von Ereignissen im Zusammenhang mit Änderungen der DPI-Skalierung aus. Dazu gehören die Ereignisse DpiChangedAfterParent, DpiChangedBeforeParent und DpiChanged. Der Wert des DisableDpiChangedMessageHandling
-Schlüssels bestimmt, ob diese Ereignisse in einer Windows Forms-Anwendung ausgelöst werden.
Single-Pass-Skalierung
Die Single- oder Multi-Pass-Skalierung beeinflusst die wahrgenommene Reaktionsfähigkeit der Benutzeroberfläche und das visuelle Erscheinungsbild von Benutzeroberflächenelementen, während sie skaliert werden. Ab .NET Framework 4.7 verwendet Windows Forms die Single-Pass-Skalierung. In früheren Versionen des .NET Framework wurde die Skalierung über mehrere Durchläufe durchgeführt, was dazu führte, dass einige Steuerelemente mehr skaliert wurden als erforderlich. Die Single-Pass-Skalierung sollte nur deaktiviert werden, wenn Ihre App vom alten Verhalten abhängig ist.