• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        自定義組件之屬性(Property)的性質(Attribute)介紹(二)

        自定義組件之屬性(Property)的性質(Attribute)介紹(二)

        更新時間:2022-05-16 文章作者:未知 信息來源:網絡 閱讀次數:

        一:屬性轉換器(TypeConverter)

        1、 下拉列表框的形式:

        要使用下拉列表框的形式的屬性我們首先要定義一個屬性,在這個例子中我定義了一個字符串類型的屬性 FileName。

        private string _fileName;



        public string FileName

        {

        get { return this._fileName;}

        set { this._fileName=value; }

        }

        定義完屬性之后,我們還要自己一個屬性轉換器。那么什么是屬性轉換器呢?其實在屬性瀏覽器中只能夠識別字符串類型,所以我們要通過屬性轉換器把我們的屬性轉換成字符串,還要在屬性瀏覽器改變這個字符串之后在把這個字符串轉換成我們自己的屬性。大家聽起來是不是有一些胡涂了?沒關系下面我們做一個屬性轉換器大家就知道了。

        因為在本例中用的屬性是字符串類型的所以我們要從System.ComponentModel.StringConverter繼承一個新的字符串形式的屬性轉換器。下面就是這段代碼和代碼中的注釋,相信大家一定能夠看懂的:

        /// <summary>

        /// 擴展字符串的轉換器(實現下拉列表框的樣式)

        /// </summary>

        public class FileNameConverter:System.ComponentModel.StringConverter

        {





        /// <summary>

        /// 根據返回值確定是否支持下拉框的形式

        /// </summary>

        /// <returns>

        /// true: 下來框的形式

        /// false: 普通文本編輯的形式

        /// </returns>

        public override bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext context)

        {

        return true;

        }



        /// <summary>

        /// 下拉框中具體的內容

        /// </summary>

        public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext context)

        {

        return new StandardValuesCollection(new string[]{"File1.bat","File2.exe","File3.dll"});

        }



        /// <summary>

        /// 根據返回值確定是否是不可編輯的文本框

        /// </summary>

        /// <returns>

        /// true: 文本框不可以編輯

        /// flase: 文本框可以編輯

        /// </returns>

        public override bool GetStandardValuesExclusive(System.ComponentModel.ITypeDescriptorContext context)

        {

        return true;



        }

        好了,屬性轉換器寫完了,最后別忘了把這個屬性轉換器指定到我們剛才所寫的屬性上哦,代碼如下:

        [CategoryAttribute("自定義的復雜類型設置(包括自定義類型轉換器)"),

        TypeConverterAttribute(typeof(PropertyGridApp.FileNameConverter)),

        ReadOnlyAttribute(false)]

        public string FileName

        {

        get { return this._fileName;}

        set { this._fileName=value; }

        }

        編譯之后的程序畫面如下

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 国产亚洲精品国产福利在线观看| 亚洲午夜电影在线观看| 无套内射无矿码免费看黄| 久久精品国产亚洲av四虎| a级毛片毛片免费观看久潮喷| 亚洲国产精品成人| 一个人看的www免费在线视频| 一本色道久久综合亚洲精品高清 | 亚洲 综合 国产 欧洲 丝袜 | 免费一级做a爰片久久毛片潮喷| 亚洲精品无码久久久久A片苍井空 亚洲精品无码久久久久YW | 69影院毛片免费观看视频在线 | 西西人体44rt高清亚洲| 久艹视频在线免费观看| 日韩亚洲Av人人夜夜澡人人爽 | 37pao成人国产永久免费视频| 日木av无码专区亚洲av毛片| 久草免费在线观看视频| 亚洲一本到无码av中文字幕| 国产精品免费看香蕉| 精品一区二区三区免费观看| 久久亚洲精品成人777大小说| 国产香蕉免费精品视频| 亚洲精品成a人在线观看☆| 亚洲av无码成人精品区| 久久久久免费看黄a级试看| 亚洲一欧洲中文字幕在线| 免费特级黄毛片在线成人观看| 国产亚洲欧美日韩亚洲中文色| 久久久久久亚洲精品不卡| 亚洲免费在线播放| 亚洲国产精品无码久久九九大片| 啊v在线免费观看| 99久久精品免费视频| 亚洲第一街区偷拍街拍| 亚洲日韩欧洲乱码AV夜夜摸| 91九色老熟女免费资源站| 看成年女人免费午夜视频| 亚洲天天做日日做天天看 | 日本亚洲国产一区二区三区| 最近中文字幕无免费|