国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

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

2024-07-21 02:24:25
字體:
來源:轉載
供稿:網友
,歡迎訪問網頁設計愛好者web開發。一:屬性轉換器(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; }

}

編譯之后的程序畫面如下
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 门源| 澄迈县| 尼玛县| 桐梓县| 邹平县| 遂宁市| 恩施市| 察雅县| 望城县| 泰兴市| 红安县| 九龙坡区| 措美县| 晋城| 桓台县| 仙桃市| 泉州市| 德兴市| 眉山市| 中江县| 高州市| 临泉县| 奈曼旗| 高陵县| 新蔡县| 牙克石市| 怀仁县| 新民市| 云阳县| 桃源县| 金秀| 庆安县| 邹城市| 稻城县| 图木舒克市| 双江| 乌审旗| 龙南县| 明星| 建阳市| 区。|