Прочитать на английском

Поделиться через


PropertyTabAttribute Класс

Определение

Определяет вкладку свойств или вкладки, которые нужно отобразить для заданного класса или классов.

[System.AttributeUsage(System.AttributeTargets.All)]
public class PropertyTabAttribute : Attribute
Наследование
PropertyTabAttribute
Атрибуты

Примеры

В следующем примере кода показано, как использовать PropertyTabAttribute для указания вкладки свойств. В примере кода определяется компонент, который предоставляет свойства другого выбранного компонента по типу.

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

Комментарии

Позволяет PropertyTabAttribute добавить новую страницу свойств в PropertyGrid элемент управления . Может PropertyTabAttribute добавлять дополнительные вкладки свойств для предоставления сведений о свойствах, отличных от набора свойств компонента по умолчанию.

Конструкторы

PropertyTabAttribute()

Инициализирует новый экземпляр класса PropertyTabAttribute.

PropertyTabAttribute(String)

Инициализирует новый экземпляр класса PropertyTabAttribute, используя заданное имя класса вкладок.

PropertyTabAttribute(String, PropertyTabScope)

Инициализирует новый экземпляр класса PropertyTabAttribute, используя заданные имя класса вкладок и область видимости вкладки.

PropertyTabAttribute(Type)

Инициализирует новый экземпляр класса PropertyTabAttribute, используя указанный тип вкладки.

PropertyTabAttribute(Type, PropertyTabScope)

Инициализирует новый экземпляр класса PropertyTabAttribute, используя заданные тип и область видимости вкладки.

Свойства

TabClasses

Возвращает типы вкладок, используемые данным атрибутом.

TabClassNames

Возвращает имена классов вкладок, используемые данным атрибутом.

TabScopes

Возвращает массив областей видимости для каждой вкладки из класса PropertyTabAttribute.

TypeId

В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute.

(Унаследовано от Attribute)

Методы

Equals(Object)

Возвращает значение, показывающее, равен ли данный экземпляр заданному объекту.

Equals(PropertyTabAttribute)

Возвращает значение, показывающее, равен ли данный экземпляр заданному атрибуту.

GetHashCode()

Получает хэш-код для этого объекта.

GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
InitializeArrays(String[], PropertyTabScope[])

Инициализирует данный атрибут, используя заданные имена классов вкладок и массив областей видимости вкладок.

InitializeArrays(Type[], PropertyTabScope[])

Инициализирует данный атрибут, используя заданные имена классов вкладок и массив областей видимости вкладок.

IsDefaultAttribute()

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.

(Унаследовано от Attribute)
Match(Object)

При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту.

(Унаследовано от Attribute)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к открытым свойствам и методам объекта.

(Унаследовано от Attribute)

Применяется к

Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1