PropertyTabAttribute Constructors

Definitie

Initialiseert een nieuw exemplaar van de PropertyTabAttribute klasse.

Overloads

Name Description
PropertyTabAttribute()

Initialiseert een nieuw exemplaar van de PropertyTabAttribute klasse.

PropertyTabAttribute(String)

Initialiseert een nieuw exemplaar van de PropertyTabAttribute klasse met behulp van de opgegeven naam van de tabklasse.

PropertyTabAttribute(Type)

Initialiseert een nieuw exemplaar van de PropertyTabAttribute klasse met behulp van het opgegeven type tabblad.

PropertyTabAttribute(String, PropertyTabScope)

Initialiseert een nieuw exemplaar van de PropertyTabAttribute klasse met behulp van de opgegeven naam van de tabklasse en het tabbladbereik.

PropertyTabAttribute(Type, PropertyTabScope)

Initialiseert een nieuw exemplaar van de PropertyTabAttribute klasse met behulp van het opgegeven type tabblad en tabbladbereik.

PropertyTabAttribute()

Initialiseert een nieuw exemplaar van de PropertyTabAttribute klasse.

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

Opmerkingen

Dit is een parameterloze constructor die een niet-geïnitialiseerde PropertyTabAttributeconstructor maakt. Deze constructor kan worden gebruikt om af te leiden van dit kenmerk en meerdere tabbladtypen op te geven door aan te roepen InitializeArrays.

Zie ook

Van toepassing op

PropertyTabAttribute(String)

Initialiseert een nieuw exemplaar van de PropertyTabAttribute klasse met behulp van de opgegeven naam van de tabklasse.

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

Parameters

tabClassName
String

De gekwalificeerde assemblynaam van het type tabblad dat moet worden gemaakt. Zie voor een voorbeeld van deze indelingsconventie AssemblyQualifiedName.

Van toepassing op

PropertyTabAttribute(Type)

Initialiseert een nieuw exemplaar van de PropertyTabAttribute klasse met behulp van het opgegeven type tabblad.

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

Parameters

tabClass
Type

Het type tabblad dat moet worden gemaakt.

Van toepassing op

PropertyTabAttribute(String, PropertyTabScope)

Initialiseert een nieuw exemplaar van de PropertyTabAttribute klasse met behulp van de opgegeven naam van de tabklasse en het tabbladbereik.

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)

Parameters

tabClassName
String

De gekwalificeerde assemblynaam van het type tabblad dat moet worden gemaakt. Zie voor een voorbeeld van deze indelingsconventie AssemblyQualifiedName.

tabScope
PropertyTabScope

Een PropertyTabScope die het bereik van dit tabblad aangeeft. Als het bereik is Component, wordt het alleen weergegeven voor onderdelen met de bijbehorende PropertyTabAttribute. Als dat het is Document, wordt deze weergegeven voor alle onderdelen in het document.

Uitzonderingen

tabScope is niet Document of Component.

Van toepassing op

PropertyTabAttribute(Type, PropertyTabScope)

Initialiseert een nieuw exemplaar van de PropertyTabAttribute klasse met behulp van het opgegeven type tabblad en tabbladbereik.

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)

Parameters

tabClass
Type

Het type tabblad dat moet worden gemaakt.

tabScope
PropertyTabScope

Een PropertyTabScope die het bereik van dit tabblad aangeeft. Als het bereik is Component, wordt het alleen weergegeven voor onderdelen met de bijbehorende PropertyTabAttribute. Als dat het is Document, wordt deze weergegeven voor alle onderdelen in het document.

Uitzonderingen

tabScope is niet Document of Component.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u het PropertyTabAttribute kunt gebruiken om een eigenschappentabblad op te geven.

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

Van toepassing op