PropertyTabAttribute Construtores

Definição

Inicializa uma nova instância da classe PropertyTabAttribute.

Sobrecargas

PropertyTabAttribute()

Inicializa uma nova instância da classe PropertyTabAttribute.

PropertyTabAttribute(String)

Inicializa uma nova instância da classe PropertyTabAttribute usando o nome de classe de guia especificado.

PropertyTabAttribute(Type)

Inicializa uma nova instância da classe PropertyTabAttribute usando o tipo de guia especificado.

PropertyTabAttribute(String, PropertyTabScope)

Inicializa uma nova instância da classe PropertyTabAttribute usando o nome de classe da guia e o escopo da guia especificados.

PropertyTabAttribute(Type, PropertyTabScope)

Inicializa uma nova instância da classe PropertyTabAttribute usando o tipo de guia e o escopo da guia especificados.

PropertyTabAttribute()

Origem:
PropertyTabAttribute.cs
Origem:
PropertyTabAttribute.cs
Origem:
PropertyTabAttribute.cs

Inicializa uma nova instância da classe PropertyTabAttribute.

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

Comentários

Esse é um construtor sem parâmetros que cria um não inicializado PropertyTabAttribute. Esse construtor pode ser usado para derivar desse atributo e especificar vários tipos de guia chamando InitializeArrays.

Confira também

Aplica-se a

PropertyTabAttribute(String)

Origem:
PropertyTabAttribute.cs
Origem:
PropertyTabAttribute.cs
Origem:
PropertyTabAttribute.cs

Inicializa uma nova instância da classe PropertyTabAttribute usando o nome de classe de guia especificado.

public:
 PropertyTabAttribute(System::String ^ tabClassName);
public PropertyTabAttribute (string tabClassName);
new System.ComponentModel.PropertyTabAttribute : string -> System.ComponentModel.PropertyTabAttribute
Public Sub New (tabClassName As String)

Parâmetros

tabClassName
String

O nome qualificado do assembly do tipo de guia a ser criado. Para obter um exemplo dessa convenção de formato, consulte AssemblyQualifiedName.

Aplica-se a

PropertyTabAttribute(Type)

Origem:
PropertyTabAttribute.cs
Origem:
PropertyTabAttribute.cs
Origem:
PropertyTabAttribute.cs

Inicializa uma nova instância da classe PropertyTabAttribute usando o tipo de guia especificado.

public:
 PropertyTabAttribute(Type ^ tabClass);
public PropertyTabAttribute (Type tabClass);
new System.ComponentModel.PropertyTabAttribute : Type -> System.ComponentModel.PropertyTabAttribute
Public Sub New (tabClass As Type)

Parâmetros

tabClass
Type

O tipo de guia a ser criado.

Aplica-se a

PropertyTabAttribute(String, PropertyTabScope)

Origem:
PropertyTabAttribute.cs
Origem:
PropertyTabAttribute.cs
Origem:
PropertyTabAttribute.cs

Inicializa uma nova instância da classe PropertyTabAttribute usando o nome de classe da guia e o escopo da guia especificados.

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)

Parâmetros

tabClassName
String

O nome qualificado do assembly do tipo de guia a ser criado. Para obter um exemplo dessa convenção de formato, consulte AssemblyQualifiedName.

tabScope
PropertyTabScope

Um PropertyTabScope que indica o escopo dessa guia. Se o escopo for Component, ele será mostrado apenas para componentes com o correspondente PropertyTabAttribute. Se for Document, ele será exibido para todos os componentes no documento.

Exceções

tabScope não é Document ou Component.

Aplica-se a

PropertyTabAttribute(Type, PropertyTabScope)

Origem:
PropertyTabAttribute.cs
Origem:
PropertyTabAttribute.cs
Origem:
PropertyTabAttribute.cs

Inicializa uma nova instância da classe PropertyTabAttribute usando o tipo de guia e o escopo da guia especificados.

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)

Parâmetros

tabClass
Type

O tipo de guia a ser criado.

tabScope
PropertyTabScope

Um PropertyTabScope que indica o escopo dessa guia. Se o escopo for Component, ele será mostrado apenas para componentes com o correspondente PropertyTabAttribute. Se for Document, ele será exibido para todos os componentes no documento.

Exceções

tabScope não é Document ou Component.

Exemplos

O exemplo de código a seguir demonstra como usar o PropertyTabAttribute para especificar uma guia de propriedade.

#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;
            }
        }
    }
}

Aplica-se a