PropertyTabAttribute Costruttori

Definizione

Inizializza una nuova istanza della classe PropertyTabAttribute.

Overload

PropertyTabAttribute()

Inizializza una nuova istanza della classe PropertyTabAttribute.

PropertyTabAttribute(String)

Consente di inizializzare una nuova istanza della classe PropertyTabAttribute con il nome della classe della scheda specificato.

PropertyTabAttribute(Type)

Consente di inizializzare una nuova istanza della classe PropertyTabAttribute utilizzando il tipo di scheda specificato.

PropertyTabAttribute(String, PropertyTabScope)

Consente di inizializzare una nuova istanza della classe PropertyTabAttribute con il nome della classe della scheda e l'ambito della scheda specificati.

PropertyTabAttribute(Type, PropertyTabScope)

Consente di inizializzare una nuova istanza della classe PropertyTabAttribute con il tipo di scheda e l'ambito della scheda specificati.

PropertyTabAttribute()

Inizializza una nuova istanza della classe PropertyTabAttribute.

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

Commenti

Si tratta di un costruttore senza parametri che crea un oggetto non inizializzato PropertyTabAttribute. Questo costruttore può essere usato per derivare da questo attributo e specificare più tipi di tabulazioni chiamando InitializeArrays.

Vedi anche

Si applica a

PropertyTabAttribute(String)

Consente di inizializzare una nuova istanza della classe PropertyTabAttribute con il nome della classe della scheda specificato.

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

Parametri

tabClassName
String

Nome completo dall'assembly del tipo di scheda da creare. Per un esempio di questa convenzione dei formati,vedere la proprietà AssemblyQualifiedName.

Si applica a

PropertyTabAttribute(Type)

Consente di inizializzare una nuova istanza della classe PropertyTabAttribute utilizzando il tipo di scheda specificato.

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

Parametri

tabClass
Type

Tipo di scheda da creare.

Si applica a

PropertyTabAttribute(String, PropertyTabScope)

Consente di inizializzare una nuova istanza della classe PropertyTabAttribute con il nome della classe della scheda e l'ambito della scheda specificati.

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)

Parametri

tabClassName
String

Nome completo dall'assembly del tipo di scheda da creare. Per un esempio di questa convenzione dei formati,vedere la proprietà AssemblyQualifiedName.

tabScope
PropertyTabScope

Oggetto PropertyTabScope che indica l'ambito di questa scheda. Se l'ambito è Component, viene visualizzato solo per i componenti con l'oggetto corrispondente PropertyTabAttribute. Se è Document, verrà visualizzata per tutti i componenti del documento.

Eccezioni

tabScope non è Document o Component.

Si applica a

PropertyTabAttribute(Type, PropertyTabScope)

Consente di inizializzare una nuova istanza della classe PropertyTabAttribute con il tipo di scheda e l'ambito della scheda specificati.

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)

Parametri

tabClass
Type

Tipo di scheda da creare.

tabScope
PropertyTabScope

Oggetto PropertyTabScope che indica l'ambito di questa scheda. Se l'ambito è Component, viene visualizzato solo per i componenti con l'oggetto corrispondente PropertyTabAttribute. Se è Document, verrà visualizzata per tutti i componenti del documento.

Eccezioni

tabScope non è Document o Component.

Esempio

Nell'esempio di codice seguente viene illustrato come utilizzare per PropertyTabAttribute specificare una scheda delle proprietà.

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

Si applica a