xml在.net平台下的自定义控件的应用(1)

作者:未知 来源:未知 添加时间:2006年7月3日 字体:

xml全称可扩展标记语言(extensible marked language),这套语言系统由于在数据处理,跨平台等方面的独特优势,在近几年风靡全球。xml语言系统把任何数据都作为“键”和“值”来进行处理,这一点类似于很多数据库管理系统(dbms),而且它与具体的机器指令无关,其存储方式是纯文本文件,因此具有出色的跨平台性。另外它允许用户创建自己的数据指令系统,在这套指令系统的框架下,用户可以把所有信息转换成易于存取的数据,大大加快了开发的周期和代码的可移植性。 

既然xml这么好,那它到底是什么样子的呢?最近笔者因为课题的需要,开发了一个基于.net平台下的menu控件,并且加入了xml特性。制作的步骤如下: 

第一步:制作一个.net平台下的menu控件 

.net平台下面的自定义控件的工作原理如下:控件对应于一个类(class),控件的所有属性通过类的成员变量来暴露,而控件的方法对应于class的成员函数。在控件被加载的手,系统会调用class的render方法,制作控件的时候,应该重载(override)这个render方法,使得在控件被加载的那 一刻,控件可以自己“绘制”自己,一般来说,在render方法里面要将关于控件界面绘制的那些&#106avascript文件放入到输出流中。 

由于这里重要是讲解后面xml的应用,所以这里只是把自定义控件的原来简要说明一下,下面罗列出相关对象,属性,方法。 

整个menu控件分为topmenu,submenu,childrenmenu,menuitem四个对象,其相应的信息为: 

控件属性: 

id:标识控件名字 

menubarheight:菜单拦的高度 

menubarwidth::菜单拦的宽度 

borderwidth::边框宽 

autodropdown:true表示自动下拉,false表是单击鼠标下拉 

dropdowndelay:下拉时间 

menufont:字体 

locationx:菜单的x位置 

locationy:菜单的y位置 

xmlfile:xml文件 

xmlstream:xml流 

topmenu对象属性: 

id:同上 

text:顶层菜单的文本 

isparent:true表示有下一级菜单,否则为false(false默认) 

islink:需要用事件处理用true,否则false(false默认); 

bgcolor:背景色 

forecolor:前景色 

hoveredbackcolor:鼠标放在上面的颜色 

topmenufont:字体 

linkurl:当isparent为false才有效,表示连接的url 

borderwidth:topmenu的边框宽 

itemheight:下一级菜单的高度(必须isparent为true才有效) 

itemwidth: 下一级菜单的宽度(必须isparent为true才有效) 

submenus:含有下一级菜单的数组列表 

submenu,childrenmenu 和menuitem的所有属性跟上面topmenu一样,这里就不赘述了。

ppdesk