DesignerCategoryAttribute クラス
クラスのデザイナが特定のカテゴリに属していることを指定します。
この型のすべてのメンバの一覧については、DesignerCategoryAttribute メンバ を参照してください。
System.Object
System.Attribute
System.ComponentModel.DesignerCategoryAttribute
<AttributeUsage(AttributeTargets.Class)>
NotInheritable Public Class DesignerCategoryAttribute Inherits Attribute
[C#]
[AttributeUsage(AttributeTargets.Class)]
public sealed class DesignerCategoryAttribute : Attribute
[C++]
[AttributeUsage(AttributeTargets::Class)]
public __gc __sealed class DesignerCategoryAttribute : public Attribute
[JScript]
public
AttributeUsage(AttributeTargets.Class)
class DesignerCategoryAttribute extends Attribute
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
ビジュアル デザイナは、デザイナ カテゴリを使用して、実装するデザイナの型を開発環境に通知できます。クラスにデザイナ カテゴリが提供されていない場合、開発環境では、そのクラスをデザインできる場合とできない場合があります。任意の名前のカテゴリを作成できます。
この属性でクラスをマークすると、属性は定数メンバに設定されます。コードでこの属性の値を確認するには、定数メンバを指定する必要があります。次の表の "説明" 列に、各値に設定される定数メンバを示します。
DesignerCategoryAttribute クラスは、次の共通カテゴリを定義します。
カテゴリ | 説明 |
---|---|
コンポーネント | コンポーネントで使用されるデザイナ。属性は定数メンバ DesignerCategoryAttribute.Component に設定されます。 |
フォーム | フォームで使用されるデザイナ。属性は定数メンバ DesignerCategoryAttribute.Form に設定されます。 |
デザイナ | デザイナで使用されるデザイナ。属性は定数メンバ DesignerCategoryAttribute.Generic に設定されます。 |
空の文字列 ("")。 | これは既定のカテゴリです。 |
詳細については、「 属性の概要 」および「 属性を使用したメタデータの拡張 」を参照してください。
使用例
[Visual Basic, C#, C++] MyForm
というクラスを作成する方法を次の例に示します。 MyForm
には、このクラスが DocumentDesigner を使用することを指定する DesignerAttribute と、 Form カテゴリを指定する DesignerCategoryAttribute という 2 つの属性があります。
<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
[C#]
[Designer("System.Windows.Forms.Design.DocumentDesigner, System.Windows.Forms.Design",
typeof(IRootDesigner)),
DesignerCategory("Form")]
public class MyForm : ContainerControl {
// Insert code here.
}
[C++]
[Designer(S"System.Windows.Forms.Design.DocumentDesigner, System.Windows.Forms.Design",
__typeof(IRootDesigner)),
DesignerCategory(S"Form")]
__gc class MyForm : public ContainerControl {
// Insert code here.
};
[Visual Basic, C#, C++] 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
[C#]
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;
}
[C++]
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 =
dynamic_cast<DesignerCategoryAttribute*>(attributes->Item[__typeof(DesignerCategoryAttribute)]);
Console::WriteLine(S"The category of the designer for this class is: {0}", myAttribute->Category);
return 0;
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.ComponentModel
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
アセンブリ: System (System.dll 内)
参照
DesignerCategoryAttribute メンバ | System.ComponentModel 名前空間 | Attribute | DesignerAttribute