다음을 통해 공유


DesignerCategoryAttribute 클래스

클래스의 디자이너가 특정 범주에 속함을 지정합니다.

네임스페이스: System.ComponentModel
어셈블리: System(system.dll)

구문

‘선언
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple:=False, Inherited:=True)> _
Public NotInheritable Class DesignerCategoryAttribute
    Inherits Attribute
‘사용 방법
Dim instance As DesignerCategoryAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple=false, Inherited=true)] 
public sealed class DesignerCategoryAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Class, AllowMultiple=false, Inherited=true)] 
public ref class DesignerCategoryAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple=false, Inherited=true) */ 
public final class DesignerCategoryAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple=false, Inherited=true) 
public final class DesignerCategoryAttribute extends Attribute

설명

비주얼 디자이너는 디자이너 범주를 사용하여, 구현될 디자이너 형식을 개발 환경에 알릴 수 있습니다. 클래스에 디자이너 범주가 없으면 개발 환경에서 클래스의 설계 허용 여부를 결정할 수 없습니다. 범주는 임의의 이름을 사용하여 만들 수 있습니다.

이 특성으로 클래스를 표시하면 상수 멤버로 설정됩니다. 코드에서 이 특성 값을 확인하려면 상수 멤버를 지정해야 합니다. 다음 표의 설명 열에는 각 값을 설정할 수 있는 상수 멤버가 나열됩니다.

DesignerCategoryAttribute 클래스는 다음과 같은 일반 범주를 정의합니다.

범주

설명

Component

구성 요소와 함께 사용되는 디자이너입니다. 특성을 상수 멤버 DesignerCategoryAttribute.Component로 설정합니다.

Form

폼과 함께 사용되는 디자이너입니다. 특성을 상수 멤버 DesignerCategoryAttribute.Form로 설정합니다.

Designer

디자이너와 함께 사용되는 디자이너입니다. 특성을 상수 멤버 DesignerCategoryAttribute.Generic로 설정합니다.

빈 문자열("")

이것은 기본 범주입니다.

자세한 내용은 특성 개요특성을 사용하여 메타데이터 확장을 참조하십시오.

예제

다음 예제에서는 MyForm이라는 클래스를 만듭니다. MyForm에는 이 클래스에서 DocumentDesigner를 사용함을 지정하는 DesignerAttribute 특성과 Form 범주를 지정하는 DesignerCategoryAttribute 특성이 있습니다.

<Designer("System.Windows.Forms.Design.DocumentDesigner, System.Windows.Forms.Design", _
    GetType(IRootDesigner)), DesignerCategory("Form")> _
Public Class MyForm
    
    Inherits ContainerControl
    ' Insert code here.
End Class 'MyForm
[Designer("System.Windows.Forms.Design.DocumentDesigner, System.Windows.Forms.Design", 
    typeof(IRootDesigner)),
    DesignerCategory("Form")]
    
 public class MyForm : ContainerControl {
    // Insert code here.
 }
[Designer("System.Windows.Forms.Design.DocumentDesigner, System.Windows.Forms.Design",
IRootDesigner::typeid),
DesignerCategory("Form")]
ref class MyForm: public ContainerControl{
   // Insert code here.
};
/** @attribute Designer("System.Windows.Forms.Design.DocumentDesigner, "
    + "System.Windows.Forms.Design", IRootDesigner.class)
    @attribute DesignerCategory("Form")
 */
public static class MyForm extends ContainerControl
{
    // Insert code here.
} //MyForm

다음 예제에서는 MyForm의 인스턴스를 만듭니다. 그런 다음 클래스에 대한 특성을 가져오고 DesignerCategoryAttribute를 추출한 후 디자이너의 이름을 출력합니다.

Public Shared Function Main() As Integer
    ' Creates a new form.
    Dim myNewForm As New MyForm()
    
    ' Gets the attributes for the collection.
    Dim attributes As AttributeCollection = TypeDescriptor.GetAttributes(myNewForm)
    
    ' Prints the name of the designer by retrieving the
    ' DesignerCategoryAttribute from the AttributeCollection. 
    Dim myAttribute As DesignerCategoryAttribute = _
        CType(attributes(GetType(DesignerCategoryAttribute)), DesignerCategoryAttribute)
    Console.WriteLine(("The category of the designer for this class is: " + myAttribute.Category))
    Return 0
End Function 'Main
public static int Main() {
    // Creates a new form.
    MyForm myNewForm = new MyForm();
 
    // Gets the attributes for the collection.
    AttributeCollection attributes = TypeDescriptor.GetAttributes(myNewForm);
 
    /* Prints the name of the designer by retrieving the 
     * DesignerCategoryAttribute from the AttributeCollection. */
    DesignerCategoryAttribute myAttribute = 
       (DesignerCategoryAttribute)attributes[typeof(DesignerCategoryAttribute)];
    Console.WriteLine("The category of the designer for this class is: " + myAttribute.Category);
  
    return 0;
}
int main()
{
   // Creates a new form.
   MyForm^ myNewForm = gcnew MyForm;

   // Gets the attributes for the collection.
   AttributeCollection^ attributes = TypeDescriptor::GetAttributes( myNewForm );

   /* Prints the name of the designer by retrieving the 
       * DesignerCategoryAttribute from the AttributeCollection. */
   DesignerCategoryAttribute^ myAttribute = dynamic_cast<DesignerCategoryAttribute^>(attributes[ DesignerCategoryAttribute::typeid ]);
   Console::WriteLine( "The category of the designer for this class is: {0}", myAttribute->Category );
   return 0;
}
public static void main(String[] args)
{
    // Creates a new form.
    MyForm myNewForm = new MyForm();

    // Gets the attributes for the collection.
    AttributeCollection attributes = 
        TypeDescriptor.GetAttributes(myNewForm);

    /* Prints the name of the designer by retrieving the 
       DesignerCategoryAttribute from the AttributeCollection. 
     */
    DesignerCategoryAttribute myAttribute = (DesignerCategoryAttribute)(
        attributes.get_Item(DesignerCategoryAttribute.class.ToType()));

    Console.WriteLine("The category of the designer " 
        + "for this class is: " + myAttribute.get_Category());
} //main

상속 계층 구조

System.Object
   System.Attribute
    System.ComponentModel.DesignerCategoryAttribute

스레드로부터의 안전성

이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

DesignerCategoryAttribute 멤버
System.ComponentModel 네임스페이스
Attribute
DesignerAttribute 클래스