İngilizce dilinde oku

Aracılığıyla paylaş


PropertyTabScope Sabit listesi

Tanım

Özellikler penceresi bir sekmenin kalıcılık kapsamını gösteren tanımlayıcıları tanımlar.

C#
public enum PropertyTabScope
Devralma
PropertyTabScope

Alanlar

Name Değer Description
Component 3

Bu sekme geçerli bileşene özgüdür. Bu sekme yalnızca geçerli bileşenin Özellikler penceresi eklenir ve bileşen artık seçilmediğinde kaldırılır.

Document 2

Bu sekme geçerli belgeye özgüdür. Bu sekme Özellikler penceresi eklenir ve seçili durumdaki belge değiştiğinde kaldırılır.

Global 1

Bu sekme Özellikler penceresi eklenir ve yalnızca bir üst bileşen tarafından açıkça kaldırılabilir.

Static 0

Bu sekme Özellikler penceresi eklenir ve kaldırılamaz.

Örnekler

Aşağıdaki kod örneği, bir özellik sekmesinin kapsamını belirtmek için nasıl kullanılacağını PropertyTabScope gösterir.

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

Açıklamalar

PropertyTabScope, bir tasarım belgesinin bileşeni ilişkili PropertyTabAttributeolduğunda Özellikler penceresi görüntülenen bir sekmenin kalıcılık kapsamını gösterir.

Şunlara uygulanır

Ürün Sürümler
.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

Ayrıca bkz.