英語で読む

次の方法で共有


PropertyTabScope 列挙型

定義

[プロパティ] ウィンドウにあるタブのスコープの永続性を示す識別子を定義します。

C#
public enum PropertyTabScope
継承
PropertyTabScope

フィールド

名前 説明
Component 3

このタブは、現在のコンポーネントに固有のタブです。 このタブは、現在のコンポーネントに関してだけ [プロパティ] ウィンドウに追加され、そのコンポーネントが選択されなくなった時点で削除されます。

Document 2

このタブは、現在のドキュメントに固有のタブです。 このタブは [プロパティ] ウィンドウに追加され、現在選択されているドキュメントが変更された時点で削除されます。

Global 1

このタブは [プロパティ] ウィンドウに追加され、親コンポーネントだけが明示的に削除できます。

Static 0

このタブは [プロパティ] ウィンドウに追加され、削除はできません。

次のコード例では、 を使用 PropertyTabScope してプロパティ タブのスコープを指定する方法を示します。

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

注釈

PropertyTabScopeは、デザイン ドキュメントのコンポーネントに が関連付けられているPropertyTabAttribute場合にプロパティ ウィンドウに表示されるタブの永続化スコープを示します。

適用対象

製品 バージョン
.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

こちらもご覧ください