XML在.net平臺(tái)下的自定義控件的應(yīng)用(1)
發(fā)表時(shí)間:2024-06-09 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]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一樣,這里就不贅述了。