Partage via


PropertyTabAttribute Constructeurs

Définition

Initialise une nouvelle instance de la classe PropertyTabAttribute.

Surcharges

PropertyTabAttribute()

Initialise une nouvelle instance de la classe PropertyTabAttribute.

PropertyTabAttribute(String)

Initialise une nouvelle instance de la classe PropertyTabAttribute avec le nom de la classe de l'onglet spécifié.

PropertyTabAttribute(Type)

Initialise une nouvelle instance de la classe PropertyTabAttribute à l'aide du type d'onglet spécifié.

PropertyTabAttribute(String, PropertyTabScope)

Initialise une nouvelle instance de la classe PropertyTabAttribute avec le nom de la classe de l'onglet spécifié et la portée de l'onglet.

PropertyTabAttribute(Type, PropertyTabScope)

Initialise une nouvelle instance de la classe PropertyTabAttribute avec le type d'onglet spécifié et la portée de l'onglet.

PropertyTabAttribute()

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

Initialise une nouvelle instance de la classe PropertyTabAttribute.

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

Remarques

Il s’agit d’un constructeur sans paramètre qui crée un non initialisé PropertyTabAttribute. Ce constructeur peut être utilisé pour dériver de cet attribut et spécifier plusieurs types d’onglets en appelant InitializeArrays.

Voir aussi

S’applique à

PropertyTabAttribute(String)

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

Initialise une nouvelle instance de la classe PropertyTabAttribute avec le nom de la classe de l'onglet spécifié.

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

Paramètres

tabClassName
String

Nom complet de l'assembly du type de l'onglet à créer. Pour obtenir un exemple de cette convention de mise en forme, consultez AssemblyQualifiedName.

S’applique à

PropertyTabAttribute(Type)

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

Initialise une nouvelle instance de la classe PropertyTabAttribute à l'aide du type d'onglet spécifié.

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

Paramètres

tabClass
Type

Type de l'onglet à créer.

S’applique à

PropertyTabAttribute(String, PropertyTabScope)

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

Initialise une nouvelle instance de la classe PropertyTabAttribute avec le nom de la classe de l'onglet spécifié et la portée de l'onglet.

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)

Paramètres

tabClassName
String

Nom complet de l'assembly du type de l'onglet à créer. Pour obtenir un exemple de cette convention de mise en forme, consultez AssemblyQualifiedName.

tabScope
PropertyTabScope

PropertyTabScope qui indique l’étendue de cet onglet. Si l’étendue est Component, elle s’affiche uniquement pour les composants avec le correspondantPropertyTabAttribute. Si elle a la valeur Document, elle est affichée pour tous les composants du document.

Exceptions

tabScope n'est pas Document, ni Component.

S’applique à

PropertyTabAttribute(Type, PropertyTabScope)

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

Initialise une nouvelle instance de la classe PropertyTabAttribute avec le type d'onglet spécifié et la portée de l'onglet.

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)

Paramètres

tabClass
Type

Type de l'onglet à créer.

tabScope
PropertyTabScope

PropertyTabScope qui indique l’étendue de cet onglet. Si l’étendue est Component, elle s’affiche uniquement pour les composants avec le correspondantPropertyTabAttribute. Si elle a la valeur Document, elle est affichée pour tous les composants du document.

Exceptions

tabScope n'est pas Document, ni Component.

Exemples

L’exemple de code suivant montre comment utiliser pour PropertyTabAttribute spécifier un onglet de propriété.

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

S’applique à