明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

XML在.net平臺(tái)下的自定義控件的應(yīng)用(1)

[摘要]Xml全稱(chēng)可擴(kuò)展標(biāo)記語(yǔ)言(extensible marked language),這套語(yǔ)言系統(tǒng)由于在數(shù)據(jù)處理,跨平臺(tái)等方面的獨(dú)特優(yōu)勢(shì),在近幾年風(fēng)靡全球。Xml語(yǔ)言系統(tǒng)把任何數(shù)據(jù)都作為“鍵”和“值”來(lái)進(jìn)行處理,這一點(diǎn)類(lèi)似于很多數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),而且它與具體的機(jī)器指令無(wú)關(guān),其存儲(chǔ)方式是純...
Xml全稱(chēng)可擴(kuò)展標(biāo)記語(yǔ)言(extensible marked language),這套語(yǔ)言系統(tǒng)由于在數(shù)據(jù)處理,跨平臺(tái)等方面的獨(dú)特優(yōu)勢(shì),在近幾年風(fēng)靡全球。Xml語(yǔ)言系統(tǒng)把任何數(shù)據(jù)都作為“鍵”和“值”來(lái)進(jìn)行處理,這一點(diǎn)類(lèi)似于很多數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),而且它與具體的機(jī)器指令無(wú)關(guān),其存儲(chǔ)方式是純文本文件,因此具有出色的跨平臺(tái)性。另外它允許用戶(hù)創(chuàng)建自己的數(shù)據(jù)指令系統(tǒng),在這套指令系統(tǒng)的框架下,用戶(hù)可以把所有信息轉(zhuǎn)換成易于存取的數(shù)據(jù),大大加快了開(kāi)發(fā)的周期和代碼的可移植性。

既然XML這么好,那它到底是什么樣子的呢?最近筆者因?yàn)檎n題的需要,開(kāi)發(fā)了一個(gè)基于.net平臺(tái)下的menu控件,并且加入了xml特性。制作的步驟如下:

第一步:制作一個(gè).net平臺(tái)下的menu控件

.net平臺(tái)下面的自定義控件的工作原理如下:控件對(duì)應(yīng)于一個(gè)類(lèi)(class),控件的所有屬性通過(guò)類(lèi)的成員變量來(lái)暴露,而控件的方法對(duì)應(yīng)于class的成員函數(shù)。在控件被加載的手,系統(tǒng)會(huì)調(diào)用class的render方法,制作控件的時(shí)候,應(yīng)該重載(override)這個(gè)render方法,使得在控件被加載的那 一刻,控件可以自己“繪制”自己,一般來(lái)說(shuō),在render方法里面要將關(guān)于控件界面繪制的那些javascript文件放入到輸出流中。

由于這里重要是講解后面XML的應(yīng)用,所以這里只是把自定義控件的原來(lái)簡(jiǎn)要說(shuō)明一下,下面羅列出相關(guān)對(duì)象,屬性,方法。

整個(gè)menu控件分為T(mén)opmenu,Submenu,Childrenmenu,MenuItem四個(gè)對(duì)象,其相應(yīng)的信息為:

控件屬性:

I(yíng)D:標(biāo)識(shí)控件名字

MenubarHeight:菜單攔的高度

MenubarWidth::菜單攔的寬度

BorderWidth::邊框?qū)?

AutoDropdown:true表示自動(dòng)下拉,false表是單擊鼠標(biāo)下拉

DropdownDelay:下拉時(shí)間

Menufont:字體

LocationX:菜單的x位置

LocationY:菜單的y位置

XmlFile:xml文件

XmlStream:xml流

topmenu對(duì)象屬性:

I(yíng)D:同上

Text:頂層菜單的文本

I(yíng)sparent:true表示有下一級(jí)菜單,否則為false(false默認(rèn))

I(yíng)slink:需要用事件處理用true,否則false(false默認(rèn));

Bgcolor:背景色

Forecolor:前景色

HoveredBackcolor:鼠標(biāo)放在上面的顏色

Topmenufont:字體

Linkurl:當(dāng)isparent為false才有效,表示連接的url

Borderwidth:topmenu的邊框?qū)?

I(yíng)temheight:下一級(jí)菜單的高度(必須isparent為true才有效)

I(yíng)temwidth: 下一級(jí)菜單的寬度(必須isparent為true才有效)

Submenus:含有下一級(jí)菜單的數(shù)組列表

Submenu,Childrenmenu 和MenuItem的所有屬性跟上面Topmenu一樣,這里就不贅述了。