Share via


Windows Forms Aggiungere elemento di configurazione

L'elemento <add> aggiunge una chiave predefinita che specifica se l'app Windows Form supporta funzionalità aggiunte alle app Windows Forms in .NET Framework 4.7 o versioni successive.

Sintassi

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

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Attributo Descrizione
key Attributo obbligatorio. Nome di chiave predefinito che corrisponde a una particolare funzionalità Windows Forms personalizzabile.
value Attributo obbligatorio. Valore da assegnare a key.

key nomi di attributi e valori associati

Nome in key Valori Descrizione
"AnchorLayout.DisableSinglePassControlScaling" "true"|" false" Indica se i controlli ancorati vengono ridimensionati in un singolo passaggio. "true" per disabilitare il ridimensionamento a passaggio singolo; in caso contrario, false. Per altre informazioni, vedere la sezione "Ridimensionamento singolo passaggio".
"DpiAwareness" "PerMonitorV2"|" false" Indica se un'applicazione è con riconoscimento DPI. Impostare la chiave su "PerMonitorV2" per supportare la consapevolezza dpi; in caso contrario, impostarlo su "false". La consapevolezza dpi è una funzionalità di consenso esplicito; per sfruttare il supporto dpi elevato di Windows Forms, è necessario impostare il relativo valore su "PerMonitorV2". Per altre informazioni, vedere la sezione Osservazioni .
"CheckedListBox.DisableHighDpiImprovements" "true"|" false" Indica se il controllo sfrutta i miglioramenti del ridimensionamento e del CheckedListBox layout introdotti in .NET Framework 4.7. "true" per rifiutare il ridimensionamento e i miglioramenti del layout; in caso contrario, "false".
"DataGridView.DisableHighDpiImprovements" "true"|" false" Indica se i miglioramenti del ridimensionamento e del layout del DataGridView controllo introdotti in .NET Framework 4.7. "true" per rifiutare la consapevolezza dei DPI; "false" in caso contrario.
"DisableDpiChangedMessageHandling" "true"|" false" "true" per rifiutare la ricezione di messaggi correlati alle modifiche di ridimensionamento dpi; "false" in caso contrario. Per altre informazioni, vedere la sezione Osservazioni .
"EnableWindowsFormsHighDpiAutoResizing" "true"|" false" Indica se un'applicazione Windows Forms viene ridimensionata automaticamente a causa delle modifiche di ridimensionamento DPI. "true" per abilitare il ridimensionamento automatico; in caso contrario, false.
"Form.DisableSinglePassControlScaling" "true"|" false" Indica se l'oggetto Form viene ridimensionato in un singolo passaggio. "true" per disabilitare la scalabilità a passaggio singolo; in caso contrario, false. Per altre informazioni, vedere la sezione "Ridimensionamento singolo passaggio".
"MonthCalendar.DisableSinglePassControlScaling" "true"|" false" Indica se il MonthCalendar controllo viene ridimensionato in un singolo passaggio. "true" per disabilitare la scalabilità a passaggio singolo; in caso contrario, false. Per altre informazioni, vedere la sezione "Ridimensionamento singolo passaggio".
"Toolstrip.DisableHighDpiImprovements" "true"|" false" Indica se il controllo sfrutta i miglioramenti del ridimensionamento e del ToolStrip layout introdotti in .NET Framework 4.7. "true" per rifiutare la consapevolezza dei DPI; "false" in caso contrario.

Elementi figlio

Nessuno.

Elementi padre

Elemento Descrizione
<System.Windows.Forms.ApplicationConfigurationSection> Configura il supporto per le nuove funzionalità dell'applicazione Windows Forms.

Commenti

A partire da .NET Framework 4.7, l'elemento <System.Windows.Forms.ApplicationConfigurationSection> consente di configurare le applicazioni Windows Forms per sfruttare le funzionalità aggiunte nelle versioni recenti di .NET Framework.

L'elemento <System.Windows.Forms.ApplicationConfigurationSection> consente di aggiungere uno o più elementi figlio <add> , ognuno dei quali definisce un'impostazione di configurazione specifica.

Per una panoramica del supporto dpi elevato Windows Forms, vedere Supporto DPI elevato in Windows Forms.

DpiAwareness

Windows Forms app eseguite in versioni di Windows a partire da Windows 10 Creators Edition e versioni di destinazione di .NET Framework a partire da .NET Framework 4.7 possono essere configurate per sfruttare i miglioramenti dpi elevati introdotti in .NET Framework 4.7. Queste includono:

  • Supporto per scenari DPI dinamici in cui l'utente modifica il fattore di dpi o scala dopo l'avvio di un'applicazione Windows Forms.

  • Miglioramenti del ridimensionamento e del layout di un numero di controlli Windows Forms, ad esempio il controllo e il MonthCalendarCheckedListBox controllo.

La consapevolezza elevata dei DPI è una funzionalità di consenso esplicito; per impostazione predefinita, il valore di DpiAwareness è false. È possibile acconsentire esplicitamente al supporto di Windows Forms per la consapevolezza dpi impostando il valore di questa chiave su PerMonitorV2 nel file di configurazione dell'applicazione. Se la consapevolezza DPI è abilitata, vengono abilitate anche tutte le singole funzionalità DPI. Queste includono:

  • I messaggi modificati dpi, controllati dalla DisableDpiChangedMessageHandling chiave.

  • Supporto DPI dinamico, controllato dalla EnableWindowsFormsHighDpiAutoResizing chiave.

  • Ridimensionamento del controllo a passaggio singolo, controllato dai Form.DisableSinglePassControlScaling singoli Form controlli, dalla AnchorLayout.DisableSinglePassControlScaling chiave per i controlli ancorati e dalla MonthCalendar.DisableSinglePassControlScaling chiave per il MonthCalendar controllo

  • Miglioramenti elevati del ridimensionamento e del layout DPI, controllati dalla CheckListBox.DisableHighDpiImprovements chiave per il CheckedListBox controllo, dalla DataGridView.DisableHighDpiImprovements chiave per il controllo e dalla Toolstrip.DisableHighDpiImprovements chiave per il DataGridViewToolStrip controllo.

L'impostazione di consenso esplicito predefinito singola fornita dall'impostazione DpiAwareness su PerMonitorV2 è in genere adeguata per le nuove applicazioni Windows Forms. Tuttavia, è possibile rifiutare esplicitamente i singoli miglioramenti di DPI elevati aggiungendo la chiave corrispondente al file di configurazione dell'applicazione. Ad esempio, per sfruttare tutte le nuove funzionalità DPI, ad eccezione del supporto DPI dinamico, aggiungere quanto segue al file di configurazione dell'applicazione:

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

In genere, si opta per una determinata funzionalità perché è stato scelto di gestirlo a livello di codice.

Per altre informazioni sull'uso del supporto di dpi elevati nelle applicazioni Windows Forms, vedere Supporto DPI elevato in Windows Forms.

DisableDpiChangedMessageHandling

A partire da .NET Framework 4.7, Windows Forms controlli generano un numero di eventi correlati alle modifiche apportate al ridimensionamento DPI. Questi includono gli DpiChangedAfterParenteventi , DpiChangedBeforeParente DpiChanged . Il valore della DisableDpiChangedMessageHandling chiave determina se questi eventi vengono generati in un'applicazione Windows Forms.

Ridimensionamento a passaggio singolo

Il ridimensionamento a più passaggi o singoli influisce sulla velocità di risposta percepita dell'interfaccia utente e sull'aspetto visivo degli elementi dell'interfaccia utente mentre vengono ridimensionati. A partire da .NET Framework 4.7, Windows Forms usa il ridimensionamento a passaggio singolo. Nelle versioni precedenti di .NET Framework, il ridimensionamento è stato eseguito tramite più passaggi, che ha causato la scalabilità di alcuni controlli più di quanto fosse necessario. Il ridimensionamento a passaggio singolo deve essere disabilitato solo se l'app dipende dal comportamento precedente.

Vedi anche