PropertyTabAttribute 构造函数  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 PropertyTabAttribute 类的新实例。
重载
| PropertyTabAttribute() | 初始化 PropertyTabAttribute 类的新实例。 | 
| PropertyTabAttribute(String) | 使用指定的选项卡类名称初始化 PropertyTabAttribute 类的新实例。 | 
| PropertyTabAttribute(Type) | 使用指定的选项卡类型初始化 PropertyTabAttribute 类的新实例。 | 
| PropertyTabAttribute(String, PropertyTabScope) | 使用指定的选项卡类名和选项卡范围初始化 PropertyTabAttribute 类的新实例。 | 
| PropertyTabAttribute(Type, PropertyTabScope) | 使用指定的选项卡类型和选项卡范围初始化 PropertyTabAttribute 类的新实例。 | 
PropertyTabAttribute()
- Source:
- PropertyTabAttribute.cs
- Source:
- PropertyTabAttribute.cs
- Source:
- PropertyTabAttribute.cs
初始化 PropertyTabAttribute 类的新实例。
public:
 PropertyTabAttribute();public PropertyTabAttribute ();Public Sub New ()注解
这是一个无参数构造函数,用于创建未初始化的 PropertyTabAttribute。 此构造函数可用于从此属性派生,并通过调用 InitializeArrays指定多个选项卡类型。
另请参阅
适用于
PropertyTabAttribute(String)
- Source:
- PropertyTabAttribute.cs
- Source:
- PropertyTabAttribute.cs
- Source:
- PropertyTabAttribute.cs
使用指定的选项卡类名称初始化 PropertyTabAttribute 类的新实例。
public:
 PropertyTabAttribute(System::String ^ tabClassName);public PropertyTabAttribute (string tabClassName);new System.ComponentModel.PropertyTabAttribute : string -> System.ComponentModel.PropertyTabAttributePublic Sub New (tabClassName As String)参数
- tabClassName
- String
要创建的选项卡类型的程序集限定名。 有关这种格式约定的示例,请参见 AssemblyQualifiedName。
适用于
PropertyTabAttribute(Type)
- Source:
- PropertyTabAttribute.cs
- Source:
- PropertyTabAttribute.cs
- Source:
- PropertyTabAttribute.cs
使用指定的选项卡类型初始化 PropertyTabAttribute 类的新实例。
public:
 PropertyTabAttribute(Type ^ tabClass);public PropertyTabAttribute (Type tabClass);new System.ComponentModel.PropertyTabAttribute : Type -> System.ComponentModel.PropertyTabAttributePublic Sub New (tabClass As Type)参数
- tabClass
- Type
要创建的选项卡的类型。
适用于
PropertyTabAttribute(String, PropertyTabScope)
- Source:
- PropertyTabAttribute.cs
- Source:
- PropertyTabAttribute.cs
- Source:
- PropertyTabAttribute.cs
使用指定的选项卡类名和选项卡范围初始化 PropertyTabAttribute 类的新实例。
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.PropertyTabAttributePublic Sub New (tabClassName As String, tabScope As PropertyTabScope)参数
- tabClassName
- String
要创建的选项卡类型的程序集限定名。 有关这种格式约定的示例,请参见 AssemblyQualifiedName。
- tabScope
- PropertyTabScope
一个 PropertyTabScope,指示此选项卡的范围。如果范围是 Component,则只为具有相应 PropertyTabAttribute 的组件显示它。 如果它是 Document,则将为该文档的所有组件显示它。
例外
适用于
PropertyTabAttribute(Type, PropertyTabScope)
- Source:
- PropertyTabAttribute.cs
- Source:
- PropertyTabAttribute.cs
- Source:
- PropertyTabAttribute.cs
使用指定的选项卡类型和选项卡范围初始化 PropertyTabAttribute 类的新实例。
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.PropertyTabAttributePublic Sub New (tabClass As Type, tabScope As PropertyTabScope)参数
- tabClass
- Type
要创建的选项卡的类型。
- tabScope
- PropertyTabScope
一个 PropertyTabScope,指示此选项卡的范围。如果范围是 Component,则只为具有相应 PropertyTabAttribute 的组件显示它。 如果它是 Document,则将为该文档的所有组件显示它。
例外
示例
下面的代码示例演示如何使用 PropertyTabAttribute 指定属性选项卡。
#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;
            }
        }
    }
}