えムナウのプログラミングのページ

えムナウ の とどけもの

 Logo えムナウBlog@AILight
えムナウBlog@Wankuma

目次

利用状況

イメージ ギャラリー

カテゴリ

Links
 

inetaj

MSMVPロゴ
MSMVP Visual C# 2005/01-2007/12

目次

ユーザーコントロール

サンプル1 簡単なユーザーコントロールの属性


DefaultValue プロパティの既定値を指定します。
Browsable [プロパティ] ウィンドウにプロパティやイベントを表示するかどうかを指定します。
Category プロパティまたはイベントをビジュアル デザイナで表示するカテゴリを指定します。
Description プロパティまたはイベントの説明を指定します。
DesignOnly プロパティを設定できるのがデザイン時だけかどうかを指定します。
ReadOnly この属性が関連付けられているプロパティがデザイン時に読み取り専用か、または読み書き可能かを指定します。
ParenthesizePropertyName 関連付けられているプロパティの名前をかっこで囲んで [プロパティ] ウィンドウに表示するかどうかを示します。


/// <summary>
/// UserControl1 の概要の説明です。
/// </summary>
public class UserControl1 : System.Windows.Forms.UserControl
{
        private int             defaultValue ;
        private int             notbrowsable ;
        private int             category ;
        private int             description ;
        private int             designOnly ;
        private int             readOnly ;
        private int             parenthesizePropertyName ;

        /// <summary>
        /// 必要なデザイナ変数です。
        /// </summary>
        private System.ComponentModel.Container components = null;

        public UserControl1()
        {
                // この呼び出しは、Windows.Forms フォーム デザイナで必要です。
                InitializeComponent();

                // TODO: InitComponent 呼び出しの後に初期化処理を追加してください。
                defaultValue = 10 ;
                notbrowsable = 10 ;
                category = 10 ;
                description = 10 ;
                designOnly = 10 ;
                readOnly = 10 ;
                parenthesizePropertyName = 10 ;
        }

        /// <summary>
        /// 使用されているリソースに後処理を実行します。
        /// </summary>
        protected override void Dispose( bool disposing )
        {
                if( disposing )
                {
                        if( components != null )
                                components.Dispose();
                }
                base.Dispose( disposing );
        }

        中略


        /// <summary>
        /// DefaultValue のサンプルです。
        /// 
        /// プロパティが10のときは標準文字で、
        /// this.userControl11.DefaultValue = 10;
        /// の設定はありません。
        /// 
        /// プロパティが20(10以外)のときは太字で
        /// this.userControl11.DefaultValue = 20;
        /// の設定があります。
        /// </summary>
        [DefaultValue(10)]
        public int DefaultValue 
        {
                get 
                {
                        return defaultValue;
                }
                set 
                {
                        defaultValue=value;
                }
        }

        /// <summary>
        /// Browsable のサンプルです。
        /// 
        /// プロパティは表示されず設定も出来ません。
        /// this.userControl11.Browsable = 10;
        /// の設定があります。
        /// </summary>
        [Browsable(false)]
        public int NotBrowsable 
        {
                get 
                {
                        return notbrowsable;
                }
                set 
                {
                        notbrowsable=value;
                }
        }       

        /// <summary>
        /// Category のサンプルです。
        /// 
        /// プロパティは[デザイン]カテゴリに表示されます。
        /// 
        /// 共通カテゴリ定義は以下のとおりです。
        /// アクション・配置・動作・データ・その他・デザイン
        /// ドラッグ アンド ドロップ・フォーカス・表示・キー
        /// レイアウト・マウス・ウィンドウスタイル
        /// </summary>
        [Category("デザイン")]
        public int Category 
        {
                get 
                {
                        return category;
                }
                set 
                {
                        category=value;
                }
        }

        /// <summary>
        /// Description のサンプルです。
        /// プロパティ表示の下部に説明が表示されます。
        /// </summary>
        [Description("説明が表示されます。")]
        public int Description 
        {
                get 
                {
                        return description;
                }
                set 
                {
                        description=value;
                }
        }
        
        /// <summary>
        /// DesignOnly のサンプルです。
        /// 
        /// this.userControl11.DesignOnly = 10;
        /// の設定はありません。
        /// </summary>
        [DesignOnly(true)]
        public int DesignOnly 
        {
                get 
                {
                        return designOnly;
                }
                set 
                {
                        designOnly=value;
                }
        }
        
        /// <summary>
        /// ReadOnly のサンプルです。
        /// 
        /// プロパティはグレー化して表示され設定も出来ません。
        /// </summary>
        [ReadOnly(true)]
        public int ReadOnly 
        {
                get 
                {
                        return readOnly;
                }
                set 
                {
                        readOnly=value;
                }
        }
        
        /// <summary>
        /// ParenthesizePropertyName のサンプルです。
        /// 
        /// プロパティは()で囲まれて表示されます。
        /// </summary>
        [ParenthesizePropertyName(true)]
        public int ParenthesizePropertyName 
        {
                get 
                {
                        return parenthesizePropertyName;
                }
                set 
                {
                        parenthesizePropertyName=value;
                }
        }
}