다음을 통해 공유


일부 특성에서 DefaultValueAttribute가 제거됨

기본 글꼴 높이에 종속되는 컨트롤 속성에서 DefaultValueAttribute가 제거되었습니다.

도입된 버전

.NET 8

이전 동작

영향을 받는 속성은 DefaultValueAttribute로 데코레이트되었으며 기본값은 가정된 애플리케이션 전체 글꼴에 따라 하드코딩되었습니다.

새 동작

.NET 8부터 특성이 특정 속성에서 제거됩니다. 디자인 타임 기본값은 현재 글꼴 메트릭을 기반으로 시작 시 계산됩니다.

범주 변경

이 변경 사항은 동작 변경입니다.

변경 이유

DefaultValueAttribute 특성은 Windows Forms 디자이너에서 사용하는 상수 기본값을 정의하도록 설계되었습니다. 과거에는 이 특성을 사용하여 현재 글꼴 높이에 따라 달라지는 특정 속성에 대한 기본값을 지정했습니다. .NET Core 3.1에는 새로운 기본 글꼴이 도입되었지만 그에 따라 특성 값이 업데이트되지 않았습니다. 게다가 이제 애플리케이션 글꼴을 수정하는 API도 있습니다. 따라서 상수 값 대신 동적 기본값을 사용하는 것이 좋습니다.

디자이너는 동적 기본값을 지정하는 메서드를 제공하지만 DefaultValueAttribute로 데코레이트된 속성의 경우 항상 대신 상수 기본값을 사용합니다. 동적 기본값을 지정하는 방법은 특성에서 제공하는 디자인 타임 기능을 유지합니다.

DefaultValueAttribute는 디자인 타임 시나리오에서 내부용으로 사용됩니다. 다른 시나리오에서는 사용하면 안 됩니다.

영향을 받는 API

다음 표에서는 영향을 받는 속성을 보여 줍니다.

속성 버전 변경
System.Windows.Forms.DataGridViewRow.Height Preview 2
System.Windows.Forms.ListBox.ItemHeight Preview 2