PropertyTabAttribute Class
Identifies the property tab or tabs to display for the specified class or classes.
Assembly: System (in System.dll)
The PropertyTabAttribute type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | PropertyTabAttribute | Initializes a new instance of the PropertyTabAttribute class. |
![]() | PropertyTabAttribute(String) | Initializes a new instance of the PropertyTabAttribute class using the specified tab class name. |
![]() | PropertyTabAttribute(Type) | Initializes a new instance of the PropertyTabAttribute class using the specified type of tab. |
![]() | PropertyTabAttribute(String, PropertyTabScope) | Initializes a new instance of the PropertyTabAttribute class using the specified tab class name and tab scope. |
![]() | PropertyTabAttribute(Type, PropertyTabScope) | Initializes a new instance of the PropertyTabAttribute class using the specified type of tab and tab scope. |
| Name | Description | |
|---|---|---|
![]() | TabClasses | Gets the types of tabs that this attribute uses. |
![]() | TabClassNames | Gets the names of the tab classes that this attribute uses. |
![]() | TabScopes | Gets an array of tab scopes of each tab of this PropertyTabAttribute. |
![]() | TypeId | When implemented in a derived class, gets a unique identifier for this Attribute. (Inherited from Attribute.) |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Returns a value indicating whether this instance is equal to a specified object. (Overrides Attribute.Equals(Object).) |
![]() | Equals(PropertyTabAttribute) | Returns a value indicating whether this instance is equal to a specified attribute. |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Gets the hash code for this object. (Overrides Attribute.GetHashCode.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | InitializeArrays(String(), PropertyTabScope()) | Initializes the attribute using the specified names of tab classes and array of tab scopes. |
![]() | InitializeArrays(Type(), PropertyTabScope()) | Initializes the attribute using the specified names of tab classes and array of tab scopes. |
![]() | IsDefaultAttribute | When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class. (Inherited from Attribute.) |
![]() | Match | When overridden in a derived class, returns a value that indicates whether this instance equals a specified object. (Inherited from Attribute.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
| Name | Description | |
|---|---|---|
![]() ![]() | _Attribute.GetIDsOfNames | Maps a set of names to a corresponding set of dispatch identifiers. (Inherited from Attribute.) |
![]() ![]() | _Attribute.GetTypeInfo | Retrieves the type information for an object, which can be used to get the type information for an interface. (Inherited from Attribute.) |
![]() ![]() | _Attribute.GetTypeInfoCount | Retrieves the number of type information interfaces that an object provides (either 0 or 1). (Inherited from Attribute.) |
![]() ![]() | _Attribute.Invoke | Provides access to properties and methods exposed by an object. (Inherited from Attribute.) |
The PropertyTabAttribute lets you add a new property page to a PropertyGrid control. The PropertyTabAttribute can add additional property tabs to expose property information other than a component's default set of properties.
The following code example demonstrates how to use the PropertyTabAttribute to specify a property tab. The code example defines a component that exposes the properties of another selected component by type.
Imports System Imports System.ComponentModel Imports System.ComponentModel.Design Imports System.Drawing Imports System.IO Imports System.Reflection Imports System.Runtime.Serialization Imports System.Runtime.Serialization.Formatters.Binary Imports System.Windows.Forms Imports System.Windows.Forms.Design ' This component adds a TypeCategoryTab to the property browser ' that is available for any components in the current design mode document. <PropertyTabAttribute(GetType(TypeCategoryTab), PropertyTabScope.Document)> _ Public Class TypeCategoryTabComponent Inherits System.ComponentModel.Component Public Sub New() End Sub End Class ' A TypeCategoryTab property tab lists properties by the ' category of the type of each property. <System.Security.Permissions.PermissionSetAttribute(System.Security.Permissions.SecurityAction.Demand, Name:="FullTrust")> _ Public Class TypeCategoryTab Inherits PropertyTab ' This string contains a Base-64 encoded and serialized example property tab image. <BrowsableAttribute(True)> _ Private img As String = "AAEAAAD/////AQAAAAAAAAAMAgAAAFRTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj0xLjAuMzMwMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABVTeXN0ZW0uRHJhd2luZy5CaXRtYXABAAAABERhdGEHAgIAAAAJAwAAAA8DAAAA9gAAAAJCTfYAAAAAAAAANgAAACgAAAAIAAAACAAAAAEAGAAAAAAAAAAAAMQOAADEDgAAAAAAAAAAAAD///////////////////////////////////9ZgABZgADzPz/zPz/zPz9AgP//////////gAD/gAD/AAD/AAD/AACKyub///////+AAACAAAAAAP8AAP8AAP9AgP////////9ZgABZgABz13hz13hz13hAgP//////////gAD/gACA/wCA/wCA/wAA//////////+AAACAAAAAAP8AAP8AAP9AgP////////////////////////////////////8L" Public Sub New() End Sub ' Returns the properties of the specified component extended with ' a CategoryAttribute reflecting the name of the type of the property. Public Overloads Overrides Function GetProperties(ByVal component As Object, ByVal attributes() As System.Attribute) As System.ComponentModel.PropertyDescriptorCollection Dim props As PropertyDescriptorCollection If attributes Is Nothing Then props = TypeDescriptor.GetProperties(component) Else props = TypeDescriptor.GetProperties(component, attributes) End If Dim propArray(props.Count - 1) As PropertyDescriptor Dim i As Integer For i = 0 To props.Count - 1 ' 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)) Next i Return New PropertyDescriptorCollection(propArray) End Function Public Overloads Overrides Function GetProperties(ByVal component As Object) As System.ComponentModel.PropertyDescriptorCollection Return Me.GetProperties(component, Nothing) End Function ' Provides the name for the property tab. Public Overrides ReadOnly Property TabName() As String Get Return "Properties by Type" End Get End Property ' Provides an image for the property tab. Public Overrides ReadOnly Property Bitmap() As System.Drawing.Bitmap Get Dim bmp As New Bitmap(DeserializeFromBase64Text(img)) Return bmp End Get End Property ' This method can be used to retrieve an Image from a block of Base64-encoded text. Private Function DeserializeFromBase64Text(ByVal [text] As String) As Image Dim img As Image = Nothing Dim memBytes As Byte() = Convert.FromBase64String([text]) Dim formatter As New BinaryFormatter() Dim stream As New MemoryStream(memBytes) img = CType(formatter.Deserialize(stream), Image) stream.Close() Return img End Function End Class
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.





