Adicionar elemento de configuração no Windows Forms
O elemento <add>
adiciona uma chave predefinida que especifica se o aplicativo Windows Form dá suporte a recursos adicionados a aplicativos Windows Forms no .NET Framework 4.7 ou versão posterior.
Syntax
<System.Windows.Forms.ApplicationConfigurationSection>
<add key="key-name" value="key-value" />
</System.Windows.Forms.ApplicationConfigurationSection>
Atributos e elementos
As seções a seguir descrevem atributos, elementos filho e elementos pai.
Atributos
Atributo | Descrição |
---|---|
key |
Atributo obrigatório. Um nome de chave predefinido que corresponde a um recurso personalizável Windows Forms específico. |
value |
Atributo obrigatório. O valor a ser atribuído a key . |
key
nomes de atributo e valores associados
nome de key |
Valores | Descrição |
---|---|---|
"AnchorLayout.DisableSinglePassControlScaling" | "true"|"false" | Indica se os controles ancorados são dimensionados em uma só passagem. "true" para desabilitar o dimensionamento de passagem única; caso contrário, "false". Confira a seção "Dimensionamento de passagem única" nos Comentários para obter mais informações. |
"DpiAwareness" | "PerMonitorV2"|"false" | Indica se um aplicativo tem reconhecimento de DPI. Defina a chave como "PerMonitorV2" para dar suporte à conscientização sobre dpi; caso contrário, defina-o como "false". O reconhecimento de DPI é um recurso de aceitação; para aproveitar o alto suporte ao DPI do Windows Forms, defina seu valor como "PerMonitorV2". Confira a seção Comentários para obter mais informações. |
"CheckedListBox.DisableHighDpiImprovements" | "true"|"false" | Indica se o controle CheckedListBox aproveita as melhorias de dimensionamento e layout introduzidas no .NET Framework 4.7. "true" para recusar melhorias de dimensionamento e layout; caso contrário, "false". |
"DataGridView.DisableHighDpiImprovements" | "true"|"false" | Indica se DataGridView controla os dimensionamento e as melhorias de layout introduzidos no .NET Framework 4.7. "true" para recusar o reconhecimento de DPI; Caso contrário, "false". |
"DisableDpiChangedMessageHandling" | "true"|"false" | "true" para recusar o recebimento de mensagens relacionadas a alterações de dimensionamento de DPI; Caso contrário, "false". Confira a seção Comentários para obter mais informações. |
"EnableWindowsFormsHighDpiAutoResizing" | "true"|"false" | Indica se um aplicativo Windows Forms é redimensionado automaticamente devido a alterações de dimensionamento de DPI. "true" para habilitar o redimensionamento automático; caso contrário, false. |
"Form.DisableSinglePassControlScaling" | "true"|"false" | Indica se Form é reduzido horizontalmente em uma só passagem. "true" para desabilitar o dimensionamento de passagem única; caso contrário, "false". Confira a seção "Dimensionamento de passagem única" nos Comentários para obter mais informações. |
"MonthCalendar.DisableSinglePassControlScaling" | "true"|"false" | Indica se o controle MonthCalendar é dimensionado em uma só passagem. "true" para desabilitar o dimensionamento de passagem única; caso contrário, "false". Confira a seção "Dimensionamento de passagem única" nos Comentários para obter mais informações. |
"Toolstrip.DisableHighDpiImprovements" | "true"|"false" | Indica se o controle ToolStrip aproveita as melhorias de dimensionamento e layout introduzidas no .NET Framework 4.7. "true" para recusar o reconhecimento de DPI; Caso contrário, "false". |
Elementos filho
Nenhum.
Elementos pai
Elemento | Descrição |
---|---|
<System.Windows.Forms.ApplicationConfigurationSection> |
Configura o suporte para novos recursos do aplicativo Windows Forms. |
Comentários
Do .NET Framework 4.7 em diante, o elemento <System.Windows.Forms.ApplicationConfigurationSection>
permite configurar os aplicativos do Windows Forms para aproveitar os recursos adicionados em versões recentes do .NET Framework.
O elemento <System.Windows.Forms.ApplicationConfigurationSection>
permite que você adicione um ou mais elementos filho <add>
e cada um deles define uma definição de configuração específica.
Para obter uma visão geral do suporte para alto DPI no Windows Forms, confira o Suporte para alto DPI no Windows Forms.
DpiAwareness
Aplicativos Windows Forms executados em versões do Windows começando com Windows 10 Creators Edition e versões de destino do .NET Framework começando com o .NET Framework 4.7 podem ser configurados para aproveitar as melhorias de DPI altas introduzidas no .NET Framework 4.7. Estão incluídos:
Suporte para cenários de DPI dinâmicos nos quais o usuário altera o DPI ou o fator de escala após a inicialização de um aplicativo Windows Forms.
Melhorias no dimensionamento e layout de vários controles de Windows Forms, como o controle MonthCalendar e o controle CheckedListBox.
A alta conscientização sobre o DPI é um recurso de aceitação; por padrão, o valor de DpiAwareness
é false
. Você pode aceitar o suporte do Windows Forms para reconhecimento de DPI definindo o valor dessa chave como PerMonitorV2
no arquivo de configuração do aplicativo. Se o reconhecimento de DPI estiver habilitado, todos os recursos de DPI individuais também estarão habilitados. Estão incluídos:
Mensagens alteradas de DPI, que são controladas pela chave
DisableDpiChangedMessageHandling
.Suporte a DPI dinâmico, que é controlado pela chave
EnableWindowsFormsHighDpiAutoResizing
.Dimensionamento de controle de passagem única, que é controlado pelos
Form.DisableSinglePassControlScaling
para controles individuais Form, pela chaveAnchorLayout.DisableSinglePassControlScaling
para controles ancorados e pela chaveMonthCalendar.DisableSinglePassControlScaling
para o controle MonthCalendarMelhorias de dimensionamento e layout de DPI alta, que são controladas pela chave
CheckListBox.DisableHighDpiImprovements
para o controle CheckedListBox, pela chaveDataGridView.DisableHighDpiImprovements
do controle DataGridView e pela chaveToolstrip.DisableHighDpiImprovements
do controle ToolStrip.
A configuração de aceitação padrão única fornecida definindo DpiAwareness
como PerMonitorV2
geralmente é adequada para novos aplicativos Windows Forms. No entanto, você pode recusar melhorias individuais de DPI alta adicionando a chave correspondente ao arquivo de configuração do aplicativo. Por exemplo, para aproveitar todos os novos recursos de DPI, exceto o suporte dinâmico ao DPI, você adicionará o seguinte ao arquivo de configuração do aplicativo:
<System.Windows.Forms.ApplicationConfigurationSection>
<add key="DpiAwareness" value="PerMonitorV2" />
<!-- Disable dynamic DPI support -->
<add key="EnableWindowsFormsHighDpiAutoResizing" value="false" />
</System.Windows.Forms.ApplicationConfigurationSection>
Normalmente, você recusa um recurso específico porque optou por lidar com ele programaticamente.
Para obter mais informações sobre como aproveitar o suporte ao Alto DPI em aplicativos Windows Forms, confira Suporte para alto DPI no Windows Forms.
DisableDpiChangedMessageHandling
Do .NET Framework 4.7 em diante, os controles de Windows Forms geram uma série de eventos relacionados a alterações no dimensionamento de DPI. Eles incluem os eventos DpiChangedAfterParent, DpiChangedBeforeParent e DpiChanged. O valor da chave DisableDpiChangedMessageHandling
determina se esses eventos são gerados em um aplicativo Windows Forms.
Dimensionamento de passagem única
O dimensionamento de passagem única ou múltipla influencia a capacidade de resposta percebida da interface do usuário e a aparência visual dos elementos da interface do usuário à medida que são dimensionados. Do .NET Framework 4.7 em diante, Windows Forms usa dimensionamento de passagem única. Nas versões anteriores do .NET Framework, o dimensionamento foi realizado por meio de várias passagens, o que fez com que alguns controles fossem dimensionados mais do que o necessário. O dimensionamento de passagem única só deverá ser desabilitado se o aplicativo depender do comportamento antigo.
Confira também
- Seção de configuração do Windows Forms
- High DPI Support in Windows Forms (Suporte a alto DPI no Windows Forms)