구성 요소의 디자인 타임 특성

특성을 적용하여 공용 언어 런타임에 메타데이터를 제공하는 방법에 익숙하지 않은 경우에는 특성을 사용하여 메타데이터 확장을 참조하십시오. 구성 요소는 디자이너(예: Visual Studio)에 표시될 수 있으므로 디자인 타임 도구에 메타데이터를 제공하는 특성을 필요로 합니다. 이 단원에서는 일반적으로 사용되는 디자인 타임 특성에 대해 설명하고 이들 특성의 목록을 보여 줍니다.

특성 및 디자이너 지원

디자인 타임 특성은 비주얼 디자인 도구에 중요한 정보를 제공하므로, 컨트롤 및 해당 멤버를 디자인 타임에 표시하는 데 반드시 필요합니다.

다음 코드에서 CategoryAttribute 특성은 속성 브라우저의 Alignment 범주에 TextAlignment를 표시하며 DescriptionAttribute 특성은 사용자가 특정 속성을 클릭했을 때 해당 속성에 대한 간단한 설명을 속성 브라우저에 표시합니다.

[
Category("Alignment"),
Description("Specifies the alignment of text.")
]
public ContentAlignment TextAlignment { //... }
<Category("Alignment"), _
Description("Specifies the alignment of text.")> _
Public Property _
TextAlignment As ContentAlignment
   ' ...
End Property

참고

Visual C# 및 Visual Basic에서는 특성 구문에서 AttributeName만 사용하여 AttributeNameAttribute라는 특성 클래스를 참조할 수 있습니다.

일부 디자인 타임 특성은 클래스 수준에 적용됩니다. DesignerAttribute 특성은 클래스 수준에 적용되며 컨트롤을 어떤 디자이너 클래스에 표시할지를 디자이너에 알려 줍니다. 구성 요소는 기본 디자이너(System.ComponentModel.Design.ComponentDesigner)와 연결되고 Windows Forms 및 ASP.NET 서버 컨트롤은 자체의 기본 디자이너와 연결됩니다. 구성 요소 또는 컨트롤에 대해 사용자 지정 디자이너를 정의한 경우에만 DesignerAttribute를 적용해야 합니다.

// Associates the designer class SimpleControl.Design.SimpleDesigner
// with Simple.
[ Designer(typeof(SimpleControl.Design.SimpleDesigner))]
    public class Simple : WebControl { //... }
' Associates the designer class SimpleControl.Design.SimpleDesigner
' with Simple.
<Designer(GetType(SimpleControl.Design.SimpleDesigner))> _
Public Class Simple
    Inherits WebControl
    ' ...
End Class

속성 및 이벤트에 공통적인 특성

다음 표에서는 속성 및 이벤트에 공통적으로 적용되는 특성을 설명합니다.

특성

적용 대상

설명

BrowsableAttribute

속성 및 이벤트

속성 또는 이벤트를 속성 브라우저에 표시할지 여부를 지정합니다.

CategoryAttribute

속성 및 이벤트

속성 또는 이벤트를 그룹화할 범주의 이름을 지정합니다. 범주를 사용하면 논리적으로 그룹화된 구성 요소 속성 및 이벤트를 속성 브라우저에 표시할 수 있습니다.

DescriptionAttribute

속성 및 이벤트

사용자가 속성 또는 이벤트를 선택했을 때 속성 브라우저의 맨 아래에 표시되는 텍스트 블록을 정의합니다.

BindableAttribute

속성

속성에 바인딩할 수 있는지 여부를 지정합니다.

DefaultPropertyAttribute

속성

이 특성은 클래스 선언 앞에 삽입해야 합니다.

구성 요소의 기본 속성을 지정합니다. 이 속성은 사용자가 컨트롤을 클릭했을 때 속성 브라우저에서 선택됩니다.

DefaultValueAttribute

속성

속성의 기본값을 설정합니다.

EditorAttribute

속성

비주얼 디자이너에서 속성을 편집(변경)하는 데 사용할 편집기를 지정합니다.

LocalizableAttribute

속성

지역화될 수 있는 속성을 지정합니다. 이 특성을 갖는 모든 속성은, 사용자가 폼을 지역화하는 경우에 자동으로 리소스 파일에 유지됩니다.

DesignerSerializationVisibilityAttribute

속성

속성 브라우저에 표시된 속성을 코드에 유지할지 여부 및 그 방법을 지정합니다.

TypeConverterAttribute

속성

속성의 형식을 다른 데이터 형식으로 변환할 때 사용할 형식 변환기를 지정합니다.

DefaultEventAttribute

이벤트

이 특성은 클래스 선언 앞에 삽입해야 합니다.

구성 요소의 기본 이벤트를 지정합니다. 이 이벤트는 사용자가 구성 요소를 클릭했을 때 선택되는 이벤트입니다.

별도로 지정된 경우를 제외하고는, 다음 예제에서와 같이 속성 및 이벤트의 특성은 속성 또는 이벤트 선언 바로 앞에 위치합니다.

// To apply CategoryAttribute to the BorderColor 
// property, place it immediately before the declaration
// of the BorderColor property.
[Category("Appearance")] 
public Color BorderColor;

// To apply DescriptionAttribute to the Click event, 
// place it immediately before the declaration
// of the Click event.
[Description("The Click event of the button")]
public event EventHandler Click;
' To apply CategoryAttribute  to the BorderColor 
' property, place it before the property declaration.
<Category("Appearance")> Public BorderColor As Color

' To apply DescriptionAttribute to the Click event, 
' place it before the event declaration.
<Description("The Click event of the button")> Public Event Click

구성 요소 및 컨트롤을 디자이너와 연결하는 디자인 타임 특성에 대한 내용은 디자인 타임 지원 확장을 참조하십시오.

.NET Framework 클래스 라이브러리에 정의된 특성 클래스를 사용할 수 있을 뿐만 아니라 고유의 특성 클래스를 별도로 정의할 수도 있습니다. 자세한 내용은 현재 사용하는 프로그래밍 언어의 설명서 또는 사용자 지정 특성 작성을 참조하십시오.

참고 항목

작업

방법: Windows Forms 컨트롤에서 특성 적용

개념

특성 및 디자인 타임 지원

Windows Forms 컨트롤의 특성

기타 리소스

디자인 타임 지원 확장