Elemento de configuración Add de Windows Forms

El elemento <add> agrega una clave predefinida que especifica si la aplicación de Windows Forms admite características agregadas a aplicaciones de Windows Forms en .NET Framework 4.7 o posterior.

Sintaxis

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

Atributos y elementos

En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios.

Atributos

Atributo Descripción
key Atributo necesario. Nombre de clave predefinido que corresponde a una característica Windows Forms personalizable determinada.
value Atributo necesario. Valor que se va a asignar a key.

key nombres de atributo y valores asociados

Nombre key Valores Descripción
"AnchorLayout.DisableSinglePassControlScaling" "true"|"false" Indica si los controles anclados se escalan en un solo paso. "true" para deshabilitar el escalado de paso único; De lo contrario, false. Consulte la sección "Escalado de paso único" en los comentarios para obtener más información.
"DpiAwareness" "PerMonitorV2"|"false" Indica si una aplicación es compatible con PPP. Establezca la clave en "PerMonitorV2" para admitir el reconocimiento de PPP; De lo contrario, establézcalo en "false". El reconocimiento de PPP es una característica de participación; para aprovechar las ventajas de la compatibilidad con valores altos de PPP de Windows Forms, debe establecer su valor en "PerMonitorV2". Para obtener más información, consulte la sección Comentarios.
"CheckedListBox.DisableHighDpiImprovements" "true"|"false" Indica si el control CheckedListBox aprovecha las mejoras de escalado y diseño introducidas en .NET Framework 4.7. "true" para no participar en las mejoras de escalado y diseño; De lo contrario, "false".
"DataGridView.DisableHighDpiImprovements" "true"|"false" Indica si el escalado de controles y las mejoras de diseño de DataGridView introducidos en .NET Framework 4.7. "true" para no recibir reconocimiento de PPP; De lo contrario, "false".
"DisableDpiChangedMessageHandling" "true"|"false" "true" para no recibir mensajes relacionados con los cambios de escalado de PPP; De lo contrario, "false". Para obtener más información, consulte la sección Comentarios.
"EnableWindowsFormsHighDpiAutoResizing" "true"|"false" Indica si se cambia automáticamente el tamaño de una aplicación de Windows Forms debido a cambios de ajuste de PPP. "true" para habilitar el cambio de tamaño automático; De lo contrario, false.
"Form.DisableSinglePassControlScaling" "true"|"false" Indica si Form se escala en un solo paso. "true" para deshabilitar el escalado de paso único; De lo contrario, false. Consulte la sección "Escalado de paso único" en los comentarios para obtener más información.
"MonthCalendar.DisableSinglePassControlScaling" "true"|"false" Indica si el MonthCalendar control se escala en un solo paso. "true" para deshabilitar el escalado de paso único; De lo contrario, false. Consulte la sección "Escalado de paso único" en los comentarios para obtener más información.
"Toolstrip.DisableHighDpiImprovements" "true"|"false" Indica si el control ToolStrip aprovecha las mejoras de escalado y diseño introducidas en .NET Framework 4.7. "true" para no recibir reconocimiento de PPP; De lo contrario, "false".

Elementos secundarios

Ninguno.

Elementos primarios

Elemento Descripción
<System.Windows.Forms.ApplicationConfigurationSection> Configura la compatibilidad con las nuevas características de aplicación de Windows Forms.

Comentarios

A partir de .NET Framework 4.7, el elemento <System.Windows.Forms.ApplicationConfigurationSection> permite configurar las aplicaciones de Windows Forms para aprovechar las características agregadas en versiones recientes de .NET Framework.

El elemento <System.Windows.Forms.ApplicationConfigurationSection> permite uno o varios elementos <add> secundarios, y cada uno de ellos define un valor de configuración específico.

Para obtener información general sobre Windows Forms compatibilidad con valores altos de PPP, consulte Compatibilidad con valores altos de PPP en Windows Forms.

DpiAwareness

Las aplicaciones Windows Forms que se ejecutan en versiones de Windows a partir de Windows 10 Creators Edition y versiones de destino de .NET Framework a partir de .NET Framework 4.7 se pueden configurar para aprovechar las mejoras de PPP elevadas introducidas en .NET Framework 4.7. Entre ellas se incluyen las siguientes:

  • Compatibilidad con escenarios de PPP dinámicos, en los que el usuario cambia el valor de PPP o el factor de escala después de iniciar una aplicación de Windows Forms.

  • Mejoras en el escalado y diseño de varios controles de Windows Forms, como MonthCalendar y CheckedListBox.

El reconocimiento de valores altos de PPP es una característica de participación; de forma predeterminada, el valor de DpiAwareness es false. Puede participar en la compatibilidad de Windows Forms para el reconocimiento de PPP estableciendo el valor de esta clave en PerMonitorV2 en el archivo de configuración de la aplicación. Si el reconocimiento de PPP está habilitado, también se habilitan todas las características individuales de PPP. Entre ellas se incluyen las siguientes:

  • Los mensajes modificados por PPP, que se controlan mediante la clave DisableDpiChangedMessageHandling.

  • Compatibilidad dinámica con PPP, que se controla mediante la clave EnableWindowsFormsHighDpiAutoResizing.

  • Escalado de control de paso único, controlado por Form.DisableSinglePassControlScaling para controles individuales Form , por la clave AnchorLayout.DisableSinglePassControlScaling para los controles anclados y por la clave MonthCalendar.DisableSinglePassControlScaling para el control MonthCalendar

  • Mejoras de diseño y escalado de PPP altos, que controla la clave CheckListBox.DisableHighDpiImprovements para el control CheckedListBox, por la clave DataGridView.DisableHighDpiImprovements del control DataGridView y por la clave Toolstrip.DisableHighDpiImprovements del control ToolStrip.

La configuración de participación predeterminada única proporcionada al establecer DpiAwareness en PerMonitorV2 suele ser adecuada para las nuevas aplicaciones de Windows Forms. Sin embargo, puede optar por no participar en mejoras individuales de valores altos de PPP agregando la clave correspondiente al archivo de configuración de la aplicación. Por ejemplo, para aprovechar todas las nuevas características de PPP, excepto la compatibilidad dinámica con PPP, agregaría lo siguiente al archivo de configuración de la aplicación:

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

Normalmente, no participa en una característica determinada porque ha elegido controlarla mediante programación.

Para obtener más información sobre cómo aprovechar la compatibilidad con valores altos de PPP en Windows Forms aplicaciones, consulte Compatibilidad con valores altos de PPP en Windows Forms.

DisableDpiChangedMessageHandling

A partir de .NET Framework 4.7, Windows Forms controles generan varios eventos relacionados con los cambios en el escalado de PPP. Éstos incluyen los eventos DpiChangedAfterParent, DpiChangedBeforeParent y DpiChanged. El valor de la clave DisableDpiChangedMessageHandling determina si estos eventos se generan en una aplicación de Windows Forms.

Escalado de paso único

El escalado de uno o varios pasos influye en la capacidad de respuesta percibida de la interfaz de usuario y la apariencia visual de los elementos de la interfaz de usuario a medida que se escalan. A partir de .NET Framework 4.7, Windows Forms usa el escalado de paso único. En las versiones anteriores de .NET Framework, el escalado se realizaba a través de varios pasos, lo que hacía que algunos controles escalasen más de lo necesario. El escalado de un solo paso solo debe deshabilitarse si la aplicación depende del comportamiento anterior.

Consulte también