Bagikan melalui


PropertyTabAttribute Konstruktor

Definisi

Menginisialisasi instans baru kelas PropertyTabAttribute.

Overload

PropertyTabAttribute()

Menginisialisasi instans baru kelas PropertyTabAttribute.

PropertyTabAttribute(String)

Menginisialisasi instans PropertyTabAttribute baru kelas menggunakan nama kelas tab yang ditentukan.

PropertyTabAttribute(Type)

Menginisialisasi instans PropertyTabAttribute baru kelas menggunakan jenis tab yang ditentukan.

PropertyTabAttribute(String, PropertyTabScope)

Menginisialisasi instans PropertyTabAttribute baru kelas menggunakan nama kelas tab dan cakupan tab yang ditentukan.

PropertyTabAttribute(Type, PropertyTabScope)

Menginisialisasi instans PropertyTabAttribute baru kelas menggunakan jenis tab dan cakupan tab yang ditentukan.

PropertyTabAttribute()

Sumber:
PropertyTabAttribute.cs
Sumber:
PropertyTabAttribute.cs
Sumber:
PropertyTabAttribute.cs

Menginisialisasi instans baru kelas PropertyTabAttribute.

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

Keterangan

Ini adalah konstruktor tanpa parameter yang membuat yang tidak diinisialisasi PropertyTabAttribute. Konstruktor ini dapat digunakan untuk memperoleh dari atribut ini dan menentukan beberapa jenis tab dengan memanggil InitializeArrays.

Lihat juga

Berlaku untuk

PropertyTabAttribute(String)

Sumber:
PropertyTabAttribute.cs
Sumber:
PropertyTabAttribute.cs
Sumber:
PropertyTabAttribute.cs

Menginisialisasi instans PropertyTabAttribute baru kelas menggunakan nama kelas tab yang ditentukan.

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

Parameter

tabClassName
String

Nama rakitan yang memenuhi syarat dari jenis tab yang akan dibuat. Untuk contoh konvensi format ini, lihat AssemblyQualifiedName.

Berlaku untuk

PropertyTabAttribute(Type)

Sumber:
PropertyTabAttribute.cs
Sumber:
PropertyTabAttribute.cs
Sumber:
PropertyTabAttribute.cs

Menginisialisasi instans PropertyTabAttribute baru kelas menggunakan jenis tab yang ditentukan.

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

Parameter

tabClass
Type

Jenis tab yang akan dibuat.

Berlaku untuk

PropertyTabAttribute(String, PropertyTabScope)

Sumber:
PropertyTabAttribute.cs
Sumber:
PropertyTabAttribute.cs
Sumber:
PropertyTabAttribute.cs

Menginisialisasi instans PropertyTabAttribute baru kelas menggunakan nama kelas tab dan cakupan tab yang ditentukan.

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)

Parameter

tabClassName
String

Nama rakitan yang memenuhi syarat dari jenis tab yang akan dibuat. Untuk contoh konvensi format ini, lihat AssemblyQualifiedName.

tabScope
PropertyTabScope

PropertyTabScope yang menunjukkan cakupan tab ini. Jika cakupannya adalah Component, cakupan hanya ditampilkan untuk komponen dengan yang sesuaiPropertyTabAttribute. Jika ya Document, itu ditampilkan untuk semua komponen pada dokumen.

Pengecualian

tabScope bukan Document atau Component.

Berlaku untuk

PropertyTabAttribute(Type, PropertyTabScope)

Sumber:
PropertyTabAttribute.cs
Sumber:
PropertyTabAttribute.cs
Sumber:
PropertyTabAttribute.cs

Menginisialisasi instans PropertyTabAttribute baru kelas menggunakan jenis tab dan cakupan tab yang ditentukan.

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)

Parameter

tabClass
Type

Jenis tab yang akan dibuat.

tabScope
PropertyTabScope

PropertyTabScope yang menunjukkan cakupan tab ini. Jika cakupannya adalah Component, cakupan hanya ditampilkan untuk komponen dengan yang sesuaiPropertyTabAttribute. Jika ya Document, itu ditampilkan untuk semua komponen pada dokumen.

Pengecualian

tabScope bukan Document atau Component.

Contoh

Contoh kode berikut menunjukkan cara menggunakan PropertyTabAttribute untuk menentukan tab properti.

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

Berlaku untuk