구성 요소의 디자인 타임 특성
특성을 적용하여 공용 언어 런타임에 메타데이터를 제공하는 방법에 익숙하지 않은 경우에는 특성을 사용하여 메타데이터 확장을 참조하십시오.구성 요소는 디자이너(예: 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
속성 및 이벤트에 공통적인 특성
다음 표에서는 속성 및 이벤트에 공통적으로 적용되는 특성을 설명합니다.
특성 |
적용 대상 |
설명 |
---|---|---|
속성 및 이벤트 |
속성 또는 이벤트를 속성 브라우저에 표시할지 여부를 지정합니다. |
|
속성 및 이벤트 |
속성 또는 이벤트를 그룹화할 범주의 이름을 지정합니다.범주를 사용하면 논리적으로 그룹화된 구성 요소 속성 및 이벤트를 속성 브라우저에 표시할 수 있습니다. |
|
속성 및 이벤트 |
사용자가 속성 또는 이벤트를 선택했을 때 속성 브라우저의 맨 아래에 표시되는 텍스트 블록을 정의합니다. |
|
속성 |
속성에 바인딩할 수 있는지 여부를 지정합니다. |
|
속성 이 특성은 클래스 선언 앞에 삽입해야 합니다. |
구성 요소의 기본 속성을 지정합니다.이 속성은 사용자가 컨트롤을 클릭했을 때 속성 브라우저에서 선택됩니다. |
|
속성 |
속성의 기본값을 설정합니다. |
|
속성 |
비주얼 디자이너에서 속성을 편집(변경)하는 데 사용할 편집기를 지정합니다. |
|
속성 |
지역화될 수 있는 속성을 지정합니다.이 특성을 갖는 모든 속성은, 사용자가 폼을 지역화하는 경우에 자동으로 리소스 파일에 유지됩니다. |
|
속성 |
속성 브라우저에 표시된 속성을 코드에 유지할지 여부 및 그 방법을 지정합니다. |
|
속성 |
속성의 형식을 다른 데이터 형식으로 변환할 때 사용할 형식 변환기를 지정합니다. |
|
이벤트 이 특성은 클래스 선언 앞에 삽입해야 합니다. |
구성 요소의 기본 이벤트를 지정합니다.이 이벤트는 사용자가 구성 요소를 클릭했을 때 선택되는 이벤트입니다. |
별도로 지정된 경우를 제외하고는, 다음 예제에서와 같이 속성 및 이벤트의 특성은 속성 또는 이벤트 선언 바로 앞에 위치합니다.
// 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 클래스 라이브러리에 정의된 특성 클래스를 사용할 수 있을 뿐만 아니라 고유의 특성 클래스를 별도로 정의할 수도 있습니다.자세한 내용은 현재 사용하는 프로그래밍 언어의 설명서 또는 사용자 지정 특성 작성을 참조하십시오.