DesignerAttribute 클래스
구성 요소에 대한 디자인 타임 서비스를 구현하는 데 사용되는 클래스를 지정합니다.
네임스페이스: System.ComponentModel
어셈블리: System(system.dll)
구문
‘선언
<AttributeUsageAttribute(AttributeTargets.Class Or AttributeTargets.Interface, AllowMultiple:=True, Inherited:=True)> _
Public NotInheritable Class DesignerAttribute
Inherits Attribute
‘사용 방법
Dim instance As DesignerAttribute
[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Interface, AllowMultiple=true, Inherited=true)]
public sealed class DesignerAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Class|AttributeTargets::Interface, AllowMultiple=true, Inherited=true)]
public ref class DesignerAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Interface, AllowMultiple=true, Inherited=true) */
public final class DesignerAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Interface, AllowMultiple=true, Inherited=true)
public final class DesignerAttribute extends Attribute
설명
디자인 타임 서비스에 사용되는 클래스에서는 IDesigner 인터페이스를 구현해야 합니다.
디자이너의 기본 형식을 찾으려면 DesignerBaseTypeName 속성을 사용합니다. 이 멤버와 관련된 디자이너 형식의 이름을 가져오려면 DesignerTypeName 속성을 사용합니다.
자세한 내용은 특성 개요 및 특성을 사용하여 메타데이터 확장을 참조하십시오.
예제
다음 예제에서는 MyForm
이라는 클래스를 만듭니다. MyForm
에는 이 클래스에서 DocumentDesigner를 사용함을 지정하는 DesignerAttribute 특성과 Form 범주를 지정하는 DesignerCategoryAttribute 특성이 있습니다.
<Designer("System.Windows.Forms.Design.DocumentDesigner, System.Windows.Forms.Design.DLL", _
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.DLL",
typeof(IRootDesigner)),
DesignerCategory("Form")]
public class MyForm : ContainerControl {
// Insert code here.
}
[Designer("System.Windows.Forms.Design.DocumentDesigner, System.Windows.Forms.Design.DLL",
IRootDesigner::typeid),
DesignerCategory("Form")]
ref class MyForm: public ContainerControl{
// Insert code here.
};
/** @attribute Designer("System.Windows.Forms.Design.DocumentDesigner,"+
"System.Windows.Forms.Design.DLL", IRootDesigner.class)
@attribute DesignerCategory("Form")
*/
public static class MyForm extends ContainerControl
{
// Insert code here.
} //MyForm
다음 예제에서는 MyForm
의 인스턴스를 만듭니다. 그런 다음 클래스에 대한 특성을 가져오고 DesignerAttribute를 추출한 후 디자이너의 이름을 출력합니다.
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 DesignerAttribute
' from the AttributeCollection.
Dim myAttribute As DesignerAttribute = _
CType(attributes(GetType(DesignerAttribute)), DesignerAttribute)
Console.WriteLine(("The designer for this class is: " & myAttribute.DesignerTypeName))
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 DesignerAttribute
* from the AttributeCollection. */
DesignerAttribute myAttribute =
(DesignerAttribute)attributes[typeof(DesignerAttribute)];
Console.WriteLine("The designer for this class is: " + myAttribute.DesignerTypeName);
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 DesignerAttribute
* from the AttributeCollection. */
DesignerAttribute^ myAttribute = dynamic_cast<DesignerAttribute^>(attributes[ DesignerAttribute::typeid ]);
Console::WriteLine( "The designer for this class is: {0}", myAttribute->DesignerTypeName );
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
DesignerAttribute from the AttributeCollection.
*/
DesignerAttribute myAttribute = (DesignerAttribute)(
attributes.get_Item(DesignerAttribute.class.ToType()));
Console.WriteLine(("The designer for this class is: "
+ myAttribute.get_DesignerTypeName()));
} //main
상속 계층 구조
System.Object
System.Attribute
System.ComponentModel.DesignerAttribute
스레드로부터의 안전성
이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.
플랫폼
Windows 98, Windows 2000 SP4, Windows Millennium Edition, 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에서 지원