Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
L'elemento <add> aggiunge una chiave predefinita che specifica se l'app Form Windows supporta funzionalità aggiunte alle app Windows Forms in .NET Framework 4.7 o versione successiva.
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à personalizzabile Windows Forms. |
value |
Attributo obbligatorio. Valore da assegnare a key. |
key nomi di attributi e valori associati
key nome |
Valori | Descrizione |
|---|---|---|
| "AnchorLayout.DisableSinglePassControlScaling" | "true"|" false" | Indica se i controlli ancorati vengono ridimensionati in un singolo passaggio. "true" per disabilitare la scalabilità a passaggio singolo; in caso contrario, false. Per altre informazioni, vedere la sezione "Scalabilità a passaggio singolo" nella sezione Osservazioni . |
| "DpiAwareness" | "PerMonitorV2"|" false" | Indica se un'applicazione è compatibile con 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 impostarne il valore su "PerMonitorV2". Per altre informazioni, vedere la sezione Osservazioni. |
| "CheckedListBox.DisableHighDpiImprovements" | "true"|" false" | Indica se il controllo CheckedListBox sfrutta i miglioramenti apportati al ridimensionamento e al layout introdotti in .NET Framework 4.7. "true" per rifiutare esplicitamente i miglioramenti del ridimensionamento e del layout; in caso contrario, "false". |
| "DataGridView.DisableHighDpiImprovements" | "true"|" false" | Indica se il DataGridView miglioramenti di ridimensionamento e layout introdotti in .NET Framework 4.7. "true" per rifiutare esplicitamente la consapevolezza dpi; "false" in caso contrario. |
| "DisableDpiChangedMessageHandling" | "true"|" false" | "true" per rifiutare esplicitamente di ricevere 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 di modifiche al 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 "Scalabilità a passaggio singolo" nella sezione Osservazioni . |
| "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 "Scalabilità a passaggio singolo" nella sezione Osservazioni . |
| "Toolstrip.DisableHighDpiImprovements" | "true"|" false" | Indica se il controllo ToolStrip sfrutta i miglioramenti apportati al ridimensionamento e al layout introdotti in .NET Framework 4.7. "true" per rifiutare esplicitamente la consapevolezza 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. |
Osservazioni:
A partire da .NET Framework 4.7, l'elemento <System.Windows.Forms.ApplicationConfigurationSection> consente di configurare Windows Forms applicazioni per sfruttare i vantaggi delle 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 di Windows Forms dpi elevati, vedere Supporto dpi elevato in Windows Forms.
DpiAwareness
Windows Forms app eseguite in versioni 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 vantaggi dei miglioramenti dpi elevati introdotti in .NET Framework 4.7. tra cui:
Supporto per scenari DPI dinamici in cui l'utente modifica il fattore di scala o DPI dopo l'avvio di un'applicazione Windows Forms.
Miglioramenti del ridimensionamento e del layout di diversi controlli Windows Forms, ad esempio il controllo MonthCalendar e il controllo /CheckedListBox.
La consapevolezza dpi elevata è 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. tra cui:
I messaggi con valori DPI modificati, controllati dalla
DisableDpiChangedMessageHandlingchiave.Supporto DPI dinamico, controllato dalla
EnableWindowsFormsHighDpiAutoResizingchiave.Ridimensionamento del controllo a passaggio singolo, controllato da
Form.DisableSinglePassControlScalingper i singoli Form controlli, dallaAnchorLayout.DisableSinglePassControlScalingchiave per i controlli ancorati e dallaMonthCalendar.DisableSinglePassControlScalingchiave per il MonthCalendar controlloMiglioramenti di ridimensionamento e layout DPI elevati, controllati dal
CheckListBox.DisableHighDpiImprovementstasto per il CheckedListBox controllo, dallaDataGridView.DisableHighDpiImprovementschiave per il DataGridView controllo e dalToolstrip.DisableHighDpiImprovementstasto per il ToolStrip controllo.
L'impostazione di consenso esplicito predefinito singola fornita impostando DpiAwareness su PerMonitorV2 è in genere adeguata per le nuove applicazioni Windows Forms. Tuttavia, è possibile rifiutare esplicitamente i singoli miglioramenti 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 sceglie di rifiutare esplicitamente una particolare funzionalità perché si è scelto di gestirla a livello di codice.
Per altre informazioni sull'uso del supporto dpi elevato nelle applicazioni Windows Forms, vedere Supporto DPI elevato in Windows Forms.
AutoScaleMode
La modalità predefinita AutoScaleMode.Font ridimensiona i controlli in base alle dimensioni correnti del carattere di sistema. Le metriche dei tipi di carattere possono variare a livelli DPI diversi, quindi il ridimensionamento dei tipi di carattere potrebbe non essere lineare quando l'app viene eseguita come compatibile con DPI di sistema o compatibile con DPI v2 per monitor (vedere SystemAware e PerMonitorV2). Ciò può causare discrepanze in rapporti di altezza a larghezza. La AutoScaleMode.Dpi modalità è sempre lineare e non ha questa limitazione.
Tenere presente che determinati controlli, ad esempio TextBox e Label, usano sempre il ridimensionamento dei caratteri indipendentemente dall'impostazione AutoScaleMode . A causa di queste differenze per controllo, non è sempre semplice determinare quale modalità funziona meglio senza conoscere i requisiti di progettazione specifici.
A partire da .NET 8, quando un'app Windows Forms viene eseguita in PerMonitorV2 riconoscimento DPI, il ridimensionamento delle finestre di primo livello rispetta AutoScaleMode, migliorando la coerenza con la scalabilità dei controlli figlio. Per altre informazioni, vedere Ridimensionamento delle finestre di primo livello.
DisableDpiChangedMessageHandling
A partire da .NET Framework 4.7, Windows Forms controlli generano diversi eventi correlati alle modifiche apportate al ridimensionamento DPI. Questi includono gli DpiChangedAfterParenteventi , DpiChangedBeforeParente DpiChanged . Il valore della chiave DisableDpiChangedMessageHandling determina se questi eventi vengono generati in un'applicazione Windows Forms.
Scalabilità a passaggio singolo
Il ridimensionamento a passaggio singolo o multipasso influenza la velocità di risposta percepita dell'interfaccia utente e l'aspetto visivo degli elementi dell'interfaccia utente man mano che 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, il che ha causato la scalabilità di alcuni controlli più del necessario. Il ridimensionamento a passaggio singolo deve essere disabilitato solo se l'app dipende dal comportamento precedente.
Vedi anche
- sezione configurazione Windows Forms
- supporto dpi High DPI in Windows Forms