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 optar pelo suporte de 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 chave AnchorLayout.DisableSinglePassControlScaling para controles ancorados e pela chave MonthCalendar.DisableSinglePassControlScaling para o controle MonthCalendar

  • Melhorias de dimensionamento e layout de DPI alta, que são controladas pela chave CheckListBox.DisableHighDpiImprovements para o controle CheckedListBox, pela chave DataGridView.DisableHighDpiImprovements do controle DataGridView e pela chave Toolstrip.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