Delen via


DefaultValueAttribute verwijderd uit sommige eigenschappen

DefaultValueAttribute is verwijderd uit besturingselementeigenschappen die afhankelijk zijn van de standaardtekenhoogte.

Versie geïntroduceerd

.NET 8

Vorig gedrag

De betrokken eigenschappen zijn versierd met DefaultValueAttributeen standaardwaarden zijn vastgelegd volgens een aangenomen lettertype voor de hele toepassing.

Nieuw gedrag

Vanaf .NET 8 wordt het kenmerk verwijderd uit bepaalde eigenschappen. Standaardwaarden voor ontwerptijd worden berekend bij het opstarten op basis van de huidige metrische lettertypegegevens.

Wijzigingscategorie

Deze wijziging is een gedragswijziging.

Reden voor wijziging

Het DefaultValueAttribute kenmerk is ontworpen om constante standaardwaarden te definiëren die worden gebruikt door de Ontwerpfunctie voor Windows Forms. In het verleden is dit kenmerk gebruikt om standaardwaarden op te geven voor bepaalde eigenschappen die afhankelijk zijn van de huidige tekenhoogte. Er is een nieuw standaardlettertype geïntroduceerd in .NET Core 3.1, maar de kenmerkwaarden zijn niet dienovereenkomstig bijgewerkt. Bovendien is er nu een API om het lettertype van de toepassing te wijzigen. Het is dus logisch om dynamische standaardwaarden te gebruiken in plaats van constante waarden.

De ontwerpfunctie biedt methoden voor het opgeven van dynamische standaardwaarden, maar voor eigenschappen die zijn ingericht DefaultValueAttribute, wordt altijd de constante standaardwaarde gebruikt. De methoden voor het opgeven van dynamische standaardwaarden behouden de ontwerptijdfunctionaliteit van het kenmerk.

DefaultValueAttribute is bedoeld voor intern gebruik in ontwerpscenario's. Gebruik deze niet in andere scenario's.

Betrokken API's

De volgende tabel bevat de betreffende eigenschappen.

Eigenschappen Versie wijzigen
System.Windows.Forms.DataGridViewRow.Height Preview 2
System.Windows.Forms.ListBox.ItemHeight Preview 2