Partage via


DefaultValueAttribute supprimé dans certaines propriétés

DefaultValueAttribute a été supprimé des propriétés de contrôle qui dépendent de la hauteur de police par défaut.

Version introduite

.NET 8

Comportement précédent

Les propriétés affectées ont été décorées avec DefaultValueAttribute, et les valeurs par défaut ont été codées en dur selon une police supposée à l’échelle de l’application.

Nouveau comportement

À compter de .NET 8, l’attribut est supprimé de certaines propriétés. Les valeurs par défaut au moment de la conception sont calculées au démarrage en fonction des métriques de police actuelles.

Modifier la catégorie

Ce changement est un changement de comportement.

Raison du changement

L’attribut DefaultValueAttribute est conçu pour définir des valeurs constantes par défaut utilisées par le concepteur Windows Forms. Auparavant, cet attribut était utilisé pour spécifier des valeurs par défaut sur certaines propriétés qui dépendent de la hauteur de police actuelle. Une nouvelle police par défaut a été introduite dans .NET Core 3.1, mais les valeurs d’attribut n’ont pas été mises à jour en conséquence. De plus, il y a désormais une API pour modifier la police de l’application. Par conséquent, il est judicieux d’utiliser des valeurs dynamiques par défaut au lieu de constantes.

Le concepteur fournit des méthodes pour spécifier des valeurs par défaut dynamiques. Toutefois, pour les propriétés décorées avec DefaultValueAttribute, il utilise toujours la valeur par défaut constante à la place. Les méthodes permettant de spécifier des valeurs dynamiques par défaut conservent les fonctionnalités fournies par l’attribut au moment de la conception.

DefaultValueAttribute est destiné à un usage interne dans des scénarios au moment de la conception. Vous ne devez pas l’utiliser dans d’autres scénarios.

API affectées

Le tableau suivant liste les propriétés affectées.

Propriété Changer de version
System.Windows.Forms.DataGridViewRow.Height Préversion 2
System.Windows.Forms.ListBox.ItemHeight Préversion 2