PropertyTabAttribute Konstruktory

Definice

Inicializuje novou instanci PropertyTabAttribute třídy.

Přetížení

PropertyTabAttribute()

Inicializuje novou instanci PropertyTabAttribute třídy.

PropertyTabAttribute(String)

Inicializuje novou instanci PropertyTabAttribute třídy pomocí zadaného názvu třídy tab.

PropertyTabAttribute(Type)

Inicializuje novou instanci PropertyTabAttribute třídy pomocí zadaného typu karty.

PropertyTabAttribute(String, PropertyTabScope)

Inicializuje novou instanci PropertyTabAttribute třídy pomocí zadaného názvu třídy tabulátoru a oboru tabulátoru.

PropertyTabAttribute(Type, PropertyTabScope)

Inicializuje novou instanci PropertyTabAttribute třídy pomocí zadaného typu tabulátoru a oboru tabulátoru.

PropertyTabAttribute()

Zdroj:
PropertyTabAttribute.cs
Zdroj:
PropertyTabAttribute.cs
Zdroj:
PropertyTabAttribute.cs

Inicializuje novou instanci PropertyTabAttribute třídy.

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

Poznámky

Toto je konstruktor bez parametrů, který vytvoří neinicializovaný PropertyTabAttributeobjekt . Tento konstruktor lze použít k odvození z tohoto atributu a určení více typů tabulátoru voláním InitializeArrays.

Viz také

Platí pro

PropertyTabAttribute(String)

Zdroj:
PropertyTabAttribute.cs
Zdroj:
PropertyTabAttribute.cs
Zdroj:
PropertyTabAttribute.cs

Inicializuje novou instanci PropertyTabAttribute třídy pomocí zadaného názvu třídy tab.

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

Parametry

tabClassName
String

Kvalifikovaný název sestavení typu karty, která se má vytvořit. Příklad této konvence formátu najdete v tématu AssemblyQualifiedName.

Platí pro

PropertyTabAttribute(Type)

Zdroj:
PropertyTabAttribute.cs
Zdroj:
PropertyTabAttribute.cs
Zdroj:
PropertyTabAttribute.cs

Inicializuje novou instanci PropertyTabAttribute třídy pomocí zadaného typu karty.

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

Parametry

tabClass
Type

Typ karty, která se má vytvořit.

Platí pro

PropertyTabAttribute(String, PropertyTabScope)

Zdroj:
PropertyTabAttribute.cs
Zdroj:
PropertyTabAttribute.cs
Zdroj:
PropertyTabAttribute.cs

Inicializuje novou instanci PropertyTabAttribute třídy pomocí zadaného názvu třídy tabulátoru a oboru tabulátoru.

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)

Parametry

tabClassName
String

Kvalifikovaný název sestavení typu karty, která se má vytvořit. Příklad této konvence formátu najdete v tématu AssemblyQualifiedName.

tabScope
PropertyTabScope

A PropertyTabScope označující rozsah této karty. Pokud je Componentobor , zobrazí se pouze pro komponenty s odpovídajícím PropertyTabAttributeparametrem . Pokud je Document, zobrazí se pro všechny součásti v dokumentu.

Výjimky

tabScope is not Document or Component.

Platí pro

PropertyTabAttribute(Type, PropertyTabScope)

Zdroj:
PropertyTabAttribute.cs
Zdroj:
PropertyTabAttribute.cs
Zdroj:
PropertyTabAttribute.cs

Inicializuje novou instanci PropertyTabAttribute třídy pomocí zadaného typu tabulátoru a oboru tabulátoru.

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)

Parametry

tabClass
Type

Typ karty, která se má vytvořit.

tabScope
PropertyTabScope

A PropertyTabScope označující rozsah této karty. Pokud je Componentobor , zobrazí se pouze pro komponenty s odpovídajícím PropertyTabAttributeparametrem . Pokud je Document, zobrazí se pro všechny součásti v dokumentu.

Výjimky

tabScope is not Document or Component.

Příklady

Následující příklad kódu ukazuje, jak použít PropertyTabAttribute k zadání karty vlastnosti.

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

Platí pro