Idioma

PropertyTabAttribute Construtores

Definição

Inicializa uma nova instância da classe PropertyTabAttribute.

Sobrecargas

Nome Description
PropertyTabAttribute()

Inicializa uma nova instância da classe PropertyTabAttribute.

PropertyTabAttribute(String)

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

PropertyTabAttribute(Type)

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

PropertyTabAttribute(String, PropertyTabScope)

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

PropertyTabAttribute(Type, PropertyTabScope)

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

PropertyTabAttribute()

Origem:
PropertyTabAttribute.cs
Origem:
PropertyTabAttribute.cs
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

Este é 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
Origem:
PropertyTabAttribute.cs
Origem:
PropertyTabAttribute.cs

Inicializa uma nova instância da PropertyTabAttribute classe usando o nome da classe tab 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
Origem:
PropertyTabAttribute.cs
Origem:
PropertyTabAttribute.cs

Inicializa uma nova instância da PropertyTabAttribute classe 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
Origem:
PropertyTabAttribute.cs
Origem:
PropertyTabAttribute.cs

Inicializa uma nova instância da PropertyTabAttribute classe usando o nome da classe de 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, será mostrado 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
Origem:
PropertyTabAttribute.cs
Origem:
PropertyTabAttribute.cs

Inicializa uma nova instância da PropertyTabAttribute classe 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, será mostrado 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 a PropertyTabAttribute guia especificar uma 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.
[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);
}

Aplica-se a