Partilhar via


Atributo "DefaultValueAttribute" removido de algumas propriedades

DefaultValueAttribute foi removido das propriedades de controle que dependem da altura da fonte padrão.

Versão introduzida

.NET 8

Comportamento anterior

As propriedades afetadas foram decoradas com DefaultValueAttribute, e os valores padrão foram codificados de acordo com uma fonte presumida para todo o aplicativo.

Novo comportamento

A partir do .NET 8, o atributo é removido de determinadas propriedades. Os valores padrão em tempo de design são calculados na inicialização com base nas métricas de fonte atuais.

Alterar categoria

Esta mudança é uma mudança comportamental.

Motivo da mudança

O DefaultValueAttribute atributo foi projetado para definir valores padrão constantes usados pelo designer do Windows Forms. No passado, esse atributo era usado para especificar padrões em determinadas propriedades que dependem da altura da fonte atual. Uma nova fonte padrão foi introduzida no .NET Core 3.1, mas os valores de atributo não foram atualizados adequadamente. Além disso, agora há uma API para modificar a fonte do aplicativo. Assim, faz sentido usar valores padrão dinâmicos em vez de valores constantes.

O designer fornece métodos para especificar valores padrão dinâmicos, no entanto, para propriedades decoradas com DefaultValueAttribute, ele sempre usa o valor padrão constante em vez disso. Os métodos para especificar configurações dinâmicas preservam a funcionalidade de tempo de projeto fornecida pelo atributo.

DefaultValueAttribute destina-se a uso interno em cenários de momento de design. Você não deve usá-lo em outros cenários.

APIs afetadas

A tabela a seguir lista as propriedades afetadas.

Propriedade Alterar versão
System.Windows.Forms.DataGridViewRow.Height Pré-visualização 2
System.Windows.Forms.ListBox.ItemHeight Pré-visualização 2