PropertyTabAttribute 생성자
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
PropertyTabAttribute 클래스의 새 인스턴스를 초기화합니다.
오버로드
| Name | Description |
|---|---|
| PropertyTabAttribute() |
PropertyTabAttribute 클래스의 새 인스턴스를 초기화합니다. |
| PropertyTabAttribute(String) |
지정된 탭 클래스 이름을 사용하여 클래스의 PropertyTabAttribute 새 인스턴스를 초기화합니다. |
| PropertyTabAttribute(Type) |
지정된 형식의 탭을 PropertyTabAttribute 사용하여 클래스의 새 인스턴스를 초기화합니다. |
| PropertyTabAttribute(String, PropertyTabScope) |
지정된 탭 클래스 이름 및 탭 범위를 사용하여 클래스의 PropertyTabAttribute 새 인스턴스를 초기화합니다. |
| PropertyTabAttribute(Type, PropertyTabScope) |
지정된 형식의 PropertyTabAttribute 탭 및 탭 범위를 사용하여 클래스의 새 인스턴스를 초기화합니다. |
PropertyTabAttribute()
PropertyTabAttribute 클래스의 새 인스턴스를 초기화합니다.
public:
PropertyTabAttribute();
public PropertyTabAttribute();
Public Sub New ()
설명
초기화 PropertyTabAttribute되지 않은 생성자를 만드는 매개 변수가 없는 생성자입니다. 이 생성자는 이 특성에서 파생되고 호출 InitializeArrays하여 여러 탭 유형을 지정하는 데 사용할 수 있습니다.
추가 정보
적용 대상
PropertyTabAttribute(String)
지정된 탭 클래스 이름을 사용하여 클래스의 PropertyTabAttribute 새 인스턴스를 초기화합니다.
public:
PropertyTabAttribute(System::String ^ tabClassName);
public PropertyTabAttribute(string tabClassName);
new System.ComponentModel.PropertyTabAttribute : string -> System.ComponentModel.PropertyTabAttribute
Public Sub New (tabClassName As String)
매개 변수
- tabClassName
- String
만들 탭 형식의 정규화된 어셈블리 이름입니다. 이 형식 규칙의 예제는 을 참조하세요 AssemblyQualifiedName.
적용 대상
PropertyTabAttribute(Type)
지정된 형식의 탭을 PropertyTabAttribute 사용하여 클래스의 새 인스턴스를 초기화합니다.
public:
PropertyTabAttribute(Type ^ tabClass);
public PropertyTabAttribute(Type tabClass);
new System.ComponentModel.PropertyTabAttribute : Type -> System.ComponentModel.PropertyTabAttribute
Public Sub New (tabClass As Type)
매개 변수
- tabClass
- Type
만들 탭의 유형입니다.
적용 대상
PropertyTabAttribute(String, PropertyTabScope)
지정된 탭 클래스 이름 및 탭 범위를 사용하여 클래스의 PropertyTabAttribute 새 인스턴스를 초기화합니다.
public:
PropertyTabAttribute(System::String ^ tabClassName, System::ComponentModel::PropertyTabScope tabScope);
public PropertyTabAttribute(string tabClassName, System.ComponentModel.PropertyTabScope tabScope);
new System.ComponentModel.PropertyTabAttribute : string * System.ComponentModel.PropertyTabScope -> System.ComponentModel.PropertyTabAttribute
Public Sub New (tabClassName As String, tabScope As PropertyTabScope)
매개 변수
- tabClassName
- String
만들 탭 형식의 정규화된 어셈블리 이름입니다. 이 형식 규칙의 예제는 을 참조하세요 AssemblyQualifiedName.
- tabScope
- PropertyTabScope
이 탭의 범위를 나타내는 A PropertyTabScope 입니다. 범위인 Component경우 해당 PropertyTabAttribute되는 구성 요소에 대해서만 표시됩니다. Document이 경우 문서의 모든 구성 요소에 대해 표시됩니다.
예외
적용 대상
PropertyTabAttribute(Type, PropertyTabScope)
지정된 형식의 PropertyTabAttribute 탭 및 탭 범위를 사용하여 클래스의 새 인스턴스를 초기화합니다.
public:
PropertyTabAttribute(Type ^ tabClass, System::ComponentModel::PropertyTabScope tabScope);
public PropertyTabAttribute(Type tabClass, System.ComponentModel.PropertyTabScope tabScope);
new System.ComponentModel.PropertyTabAttribute : Type * System.ComponentModel.PropertyTabScope -> System.ComponentModel.PropertyTabAttribute
Public Sub New (tabClass As Type, tabScope As PropertyTabScope)
매개 변수
- tabClass
- Type
만들 탭의 유형입니다.
- tabScope
- PropertyTabScope
이 탭의 범위를 나타내는 A PropertyTabScope 입니다. 범위인 Component경우 해당 PropertyTabAttribute되는 구성 요소에 대해서만 표시됩니다. Document이 경우 문서의 모든 구성 요소에 대해 표시됩니다.
예외
예제
다음 코드 예제에서는 속성 탭을 PropertyTabAttribute 지정 하는 데 사용 하는 방법을 보여 줍니다.
#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>
#using <System.dll>
using namespace System;
using namespace System::ComponentModel;
using namespace System::ComponentModel::Design;
using namespace System::Drawing;
using namespace System::IO;
using namespace System::Reflection;
using namespace System::Runtime::Serialization;
using namespace System::Runtime::Serialization::Formatters::Binary;
using namespace System::Windows::Forms;
using namespace System::Windows::Forms::Design;
using namespace System::Security::Permissions;
namespace TypeCategoryTabExample
{
ref class TypeCategoryTab;
// forward declaration.
// This component adds a TypeCategoryTab to the propery browser
// that is available for any components in the current design mode document.
[PropertyTabAttribute(TypeCategoryTabExample::TypeCategoryTab::typeid,PropertyTabScope::Document)]
public ref class TypeCategoryTabComponent: public System::ComponentModel::Component
{
public:
TypeCategoryTabComponent(){}
};
// A TypeCategoryTab property tab lists properties by the
// category of the type of each property.
public ref class TypeCategoryTab: public PropertyTab
{
private:
// This String^ contains a Base-64 encoded and serialized example property tab image.
[BrowsableAttribute(true)]
String^ img;
public:
TypeCategoryTab()
{
img = "AAEAAAD/////AQAAAAAAAAAMAgAAAFRTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj0xLjAuMzMwMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA9gAAAAJCTfYAAAAAAAAANgAAACgAAAAIAAAACAAAAAEAGAAAAAAAAAAAAMQOAADEDgAAAAAAAAAAAAD///////////////////////////////////9ZgABZgADzPz/zPz/zPz9AgP//////////gAD/gAD/AAD/AAD/AACKyub///////+AAACAAAAAAP8AAP8AAP9AgP////////9ZgABZgABz13hz13hz13hAgP//////////gAD/gACA/wCA/wCA/wAA//////////+AAACAAAAAAP8AAP8AAP9AgP////////////////////////////////////8L";
}
// Returns the properties of the specified component extended with
// a CategoryAttribute reflecting the name of the type of the property.
[ReflectionPermission(SecurityAction::Demand, Flags=ReflectionPermissionFlag::MemberAccess)]
virtual System::ComponentModel::PropertyDescriptorCollection^ GetProperties( Object^ component, array<System::Attribute^>^attributes ) override
{
PropertyDescriptorCollection^ props;
if ( attributes == nullptr )
props = TypeDescriptor::GetProperties( component );
else
props = TypeDescriptor::GetProperties( component, attributes );
array<PropertyDescriptor^>^propArray = gcnew array<PropertyDescriptor^>(props->Count);
for ( int i = 0; i < props->Count; i++ )
{
// Create a new PropertyDescriptor from the old one, with
// a CategoryAttribute matching the name of the type.
array<Attribute^>^temp0 = {gcnew CategoryAttribute( props[ i ]->PropertyType->Name )};
propArray[ i ] = TypeDescriptor::CreateProperty( props[ i ]->ComponentType, props[ i ], temp0 );
}
return gcnew PropertyDescriptorCollection( propArray );
}
virtual System::ComponentModel::PropertyDescriptorCollection^ GetProperties( Object^ component ) override
{
return this->GetProperties( component, nullptr );
}
property String^ TabName
{
// Provides the name for the property tab.
virtual String^ get() override
{
return "Properties by Type";
}
}
};
}
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms.Design;
namespace TypeCategoryTabExample;
// This component adds a TypeCategoryTab to the property browser
// that is available for any components in the current design mode document.
[PropertyTab(typeof(TypeCategoryTab), PropertyTabScope.Document)]
public class TypeCategoryTabComponent : Component
{
public TypeCategoryTabComponent()
{
}
}
// A TypeCategoryTab property tab lists properties by the
// category of the type of each property.
public class TypeCategoryTab : PropertyTab
{
public TypeCategoryTab()
{
}
// Returns the properties of the specified component extended with
// a CategoryAttribute reflecting the name of the type of the property.
public override PropertyDescriptorCollection GetProperties(object component, System.Attribute[] attributes)
{
PropertyDescriptorCollection props = attributes == null ? TypeDescriptor.GetProperties(component) : TypeDescriptor.GetProperties(component, attributes);
PropertyDescriptor[] propArray = new PropertyDescriptor[props.Count];
for (int i = 0; i < props.Count; i++)
{
// Create a new PropertyDescriptor from the old one, with
// a CategoryAttribute matching the name of the type.
propArray[i] = TypeDescriptor.CreateProperty(props[i].ComponentType, props[i], new CategoryAttribute(props[i].PropertyType.Name));
}
return new PropertyDescriptorCollection(propArray);
}
public override PropertyDescriptorCollection GetProperties(object component) => GetProperties(component, null);
// Provides the name for the property tab.
public override string TabName => "Properties by Type";
// Provides an image for the property tab.
public override Bitmap Bitmap => new("myproperty.bmp", true);
}