Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
DefaultValueAttribute se ha eliminado de las propiedades de control que dependen de la altura predeterminada de la fuente.
Versión introducida
.NET 8
Comportamiento anterior
Las propiedades afectadas se decoraron con DefaultValueAttribute y los valores predeterminados se codificaron rígidamente según una fuente asumida para toda la aplicación.
Nuevo comportamiento
A partir de .NET 8, el atributo se quita de determinadas propiedades. Los valores predeterminados en tiempo de diseño se calculan en el inicio en función de las métricas de fuente actuales.
Cambiar categoría
Este es un cambio de comportamiento.
Motivo del cambio
El DefaultValueAttribute atributo está diseñado para definir valores predeterminados constantes utilizados por el diseñador de Windows Forms. En el pasado, este atributo se usó para especificar valores predeterminados en determinadas propiedades que dependen del alto de fuente actual. Se introdujo una nueva fuente predeterminada en .NET Core 3.1, pero los valores de atributo no se actualizaron en consecuencia. Además, ahora hay una API para modificar la fuente de la aplicación. Por lo tanto, tiene sentido usar valores predeterminados dinámicos en lugar de valores constantes.
El diseñador proporciona métodos para especificar valores predeterminados dinámicos; sin embargo, para las propiedades decoradas con DefaultValueAttribute, siempre usa el valor predeterminado constante en su lugar. Los métodos para especificar valores predeterminados dinámicos conservan la funcionalidad en tiempo de diseño proporcionada por el atributo .
Acción recomendada
DefaultValueAttribute está diseñado para uso interno en escenarios en tiempo de diseño. No debe usarlo en otros escenarios.
Las APIs afectadas
En la tabla siguiente se enumeran las propiedades afectadas.
| Propiedad | Cambio de versión |
|---|---|
| System.Windows.Forms.DataGridViewRow.Height | Versión preliminar 2 |
| System.Windows.Forms.ListBox.ItemHeight | Versión preliminar 2 |