다음을 통해 공유


PropertyTabAttribute 생성자

정의

PropertyTabAttribute 클래스의 새 인스턴스를 초기화합니다.

오버로드

PropertyTabAttribute()

PropertyTabAttribute 클래스의 새 인스턴스를 초기화합니다.

PropertyTabAttribute(String)

지정된 탭 클래스 이름을 사용하여 PropertyTabAttribute 클래스의 새 인스턴스를 초기화합니다.

PropertyTabAttribute(Type)

지정된 탭 형식을 사용하여 PropertyTabAttribute 클래스의 새 인스턴스를 초기화합니다.

PropertyTabAttribute(String, PropertyTabScope)

지정된 탭 클래스 이름과 탭 범위를 사용하여 PropertyTabAttribute 클래스의 새 인스턴스를 초기화합니다.

PropertyTabAttribute(Type, PropertyTabScope)

지정된 탭 형식과 탭 범위를 사용하여 PropertyTabAttribute 클래스의 새 인스턴스를 초기화합니다.

PropertyTabAttribute()

Source:
PropertyTabAttribute.cs
Source:
PropertyTabAttribute.cs
Source:
PropertyTabAttribute.cs

PropertyTabAttribute 클래스의 새 인스턴스를 초기화합니다.

public:
 PropertyTabAttribute();
public PropertyTabAttribute ();
Public Sub New ()

설명

초기화 PropertyTabAttribute되지 않은 을 만드는 매개 변수가 없는 생성자입니다. 이 생성자는 이 특성에서 파생되고 를 호출 InitializeArrays하여 여러 탭 유형을 지정하는 데 사용할 수 있습니다.

추가 정보

적용 대상

PropertyTabAttribute(String)

Source:
PropertyTabAttribute.cs
Source:
PropertyTabAttribute.cs
Source:
PropertyTabAttribute.cs

지정된 탭 클래스 이름을 사용하여 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)

Source:
PropertyTabAttribute.cs
Source:
PropertyTabAttribute.cs
Source:
PropertyTabAttribute.cs

지정된 탭 형식을 사용하여 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)

Source:
PropertyTabAttribute.cs
Source:
PropertyTabAttribute.cs
Source:
PropertyTabAttribute.cs

지정된 탭 클래스 이름과 탭 범위를 사용하여 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

이 탭의 범위를 나타내는 PropertyTabScope입니다. 범위가 Component이면 해당 PropertyTabAttribute가 포함된 구성 요소에 대해서만 탭이 표시됩니다. 범위가 Document이면 해당 문서의 모든 구성 요소에 대해 탭이 표시됩니다.

예외

tabScopeDocument 또는 Component이 아닌 경우

적용 대상

PropertyTabAttribute(Type, PropertyTabScope)

Source:
PropertyTabAttribute.cs
Source:
PropertyTabAttribute.cs
Source:
PropertyTabAttribute.cs

지정된 탭 형식과 탭 범위를 사용하여 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

이 탭의 범위를 나타내는 PropertyTabScope입니다. 범위가 Component이면 해당 PropertyTabAttribute가 포함된 구성 요소에 대해서만 탭이 표시됩니다. 범위가 Document이면 해당 문서의 모든 구성 요소에 대해 탭이 표시됩니다.

예외

tabScopeDocument 또는 Component이 아닌 경우

예제

다음 코드 예제를 사용 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.
    [PropertyTabAttribute(typeof(TypeCategoryTab), PropertyTabScope.Document)]
    public class TypeCategoryTabComponent : System.ComponentModel.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 System.ComponentModel.PropertyDescriptorCollection GetProperties(object component, System.Attribute[] attributes)
        {
            PropertyDescriptorCollection props;
            if( attributes == null )
                props = TypeDescriptor.GetProperties(component);    
            else
                props = 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 System.ComponentModel.PropertyDescriptorCollection GetProperties(object component)
        {                     
            return this.GetProperties(component, null);
        }

        // Provides the name for the property tab.
        public override string TabName
        {
            get
            {
                return "Properties by Type";
            }
        }

        // Provides an image for the property tab.
        public override System.Drawing.Bitmap Bitmap
        {
            get
            {
                Bitmap bmp = new Bitmap(@"myproperty.bmp", true);
                return bmp;
            }
        }
    }
}

적용 대상