• <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片在线观看不卡 | 久久久久亚洲av无码专区蜜芽| 久久亚洲精品高潮综合色a片| 成年人网站在线免费观看| 亚洲av极品无码专区在线观看| 亚洲视频在线免费看| 亚洲视频在线观看网站| 国产黄色免费网站| 亚洲日韩国产欧美一区二区三区 | aa级一级天堂片免费观看| 日韩亚洲国产综合高清| 性感美女视频在线观看免费精品| 亚洲熟妇AV一区二区三区浪潮| 四虎www成人影院免费观看| 亚洲a∨国产av综合av下载| 亚洲国产人成中文幕一级二级| 亚欧洲精品在线视频免费观看| 亚洲AV无码成人网站久久精品大 | 久99久无码精品视频免费播放| 色噜噜AV亚洲色一区二区| 暖暖日本免费中文字幕| 亚洲码一区二区三区| 天天摸夜夜摸成人免费视频| 美女露100%胸无遮挡免费观看| 国产中文在线亚洲精品官网| 久久久久免费看黄a级试看| 亚洲国产人成在线观看| 国产一级特黄高清免费大片| 伊人免费在线观看| 亚洲欧洲精品久久| 国产一级淫片免费播放| 嫩草成人永久免费观看| 亚洲综合一区国产精品| 亚洲色欲久久久久综合网| 18以下岁毛片在免费播放| 亚洲.国产.欧美一区二区三区| 精品国产综合成人亚洲区 | 亚洲人成电影在线播放| 色欲A∨无码蜜臀AV免费播| 亚洲AV永久无码精品放毛片|