Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 de todo o aplicativo assumida.
Novo comportamento
A partir do .NET 8, o atributo é removido de determinadas propriedades. Os valores padrão de tempo de design são calculados na inicialização com base nas métricas de fonte atuais.
Alterar categoria
Essa alteração é uma mudança comportamental.
Motivo da alteração
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. Portanto, faz sentido usar valores padrão dinâmicos em vez dos constantes.
O designer oferece métodos para especificar valores padrão dinâmicos. No entanto, para propriedades decoradas com DefaultValueAttribute, ele sempre usa o valor padrão constante. Os métodos para especificar padrões dinâmicos preservam a funcionalidade em tempo de desenvolvimento fornecida pelo atributo.
Ação recomendada
DefaultValueAttribute destina-se ao uso interno em cenários de tempo de design. Você não deve usá-lo em outros cenários.
APIs afetadas
A tabela a seguir lista as propriedades afetadas.
| Propriedade | Alterar a versão |
|---|---|
| System.Windows.Forms.DataGridViewRow.Height | Versão prévia 2 |
| System.Windows.Forms.ListBox.ItemHeight | Versão prévia 2 |