摘要:visualstudio2005为控件提供了智能标记和操作表的设计时支持,使得开发人员通过配置菜单和对话框就可以完成较复杂的编程,从而减低了编程的复杂度和大大地提高了软件的生产效率。本文着重讨论了操作表功能的设计与实现。
关键词:.net2.0visualstudio2005操作表设计实现
0引言
操作表是.net控件的一项新功能,它是控件在设计视图当中可以使用的快捷任务菜单。在visualstudio2005的设计视图中,控件的右上角一般都有一个小箭头,那就是智能标记,点击该智能标记就可以打开一个快捷的操作表。作为一个快捷菜单,操作表通常用来实现与控件直接相关的一系列操作,如自动设置控件格式、改变控件属性、数据库设置等操作。
本示例实现了一个带智能标记的标签控件,该智能标记触发的操作表主要包括的功能为:新建或连接一个sqlserver数据库,并把该数据库的连接字符串写入。
1实现自定义操作表的步骤:
1.1创建标签控件(自定义服务器控件)服务器控件是一种运行在服务器端并且封装了用户界面及其他相关功能的组件。而.net为开发人员提供了一种快速且灵活的机制来自定义服务器控件,如自定义web服务器控件就只需定义一个从trols派生的类即可。
在visualstudio2005中,选择使用visualc#语言新建一个webcontrollibrary项目,项目名定为sampleactionlists;项目生成后会自动产生一个控件类文件,相应的在该文件里默认会创建了一个web控件,该控件继承于webcontrol类,用户可以根据需要重写及添加逻辑。
下面给出标签控件的定义:
[toolboxdata("<{0}:sqlserveractionlists1runat=server>{0}:sqlserveractionlists1>")]
publicclasssqlserveractionlists:{}
方括号中定义的是元数据属性,它们继承自entmodel类,toolboxdata属性用于告诉从工具箱中为控件插入的首选标记名。类sqlserveractionlists就是要自定义的标签控件,它继承于label类,在它里面,可以根据需要为该控件添加相应的属性、事件等,在本实例中没有封装任何的逻辑。
1.2建立设计器计器是提供逻辑的类,该逻辑可以在设计时调整控件的外观或行为。当创建了与设计器关联的组件或控件后,设计器即可在设计时执行任务。设计器可以在设计模式中执行多种类型的任务,如:更改和扩展控件的行为或外观、在设计模式中执行组件的自定义初始化、向组件的快捷菜单添加菜单项等等,其中操作表就是.netframework2.0对设计器提供的一项全新功能。
下面给出包含操作表的设计器的建立过程:①定义设计器;②定制操作表集合;③自定义操作表;④定义操作项。
1.3 设计器和控件建立联系 实现的方法是在控件定义时为控件指定设计器类。
[designer(typeof(sqlserveractionlistsdesigner))]
designer是属于erattribute类,设计器就是通过designerattribute与控件建交关联的。
1.4编译控件和关联的设计器成一个程序集 根据[designer(typeof(sqlserveractionlistsdesigner))]定义,与控件sqlserveractionlists相关联的设计器为sqlserveractionlistsdesigner,同属于一个命名空间sampleactionlists,可以编译成一个程序集。
完成了控件与设计器的代码后进行编译,会生成文件,该文件就是可以发布和使用的控件程序集了。
2 使用操作表
2.1在一个网页中引用标签控件 要在visualstudio中使用该控件,首先必须将该控件加入到工具箱中,然后就可以和使用内置控件一样从工具箱中拖曳该控件到指定的窗体页面,这样visualstudio就自动为窗体页面引用了该控件。自动的过程实际上visualstudio在页面代码中添加了两句:
//为控件注册了命名空间<%@registerassembly="sampleactionlists"namespace="sampleactionlists"tagprefix="cc2"%>
//在窗体页面中引用控件的位置标识控件
2.2在visualstudio2005设计视图中使用操作表 在visualstudio2005设计视图中,把控件sqlserveractionlists拖曳到页面后,点击控件右上角的智能标记,这时会出现一个操作表的上下文菜单,选择“新建数据库”菜单项会弹出一个配置窗体,在该窗体里就可以完成对数据库的配置工作。
3 总结
visualstudio2005为控件提供了智能标记和操作表的设计时支持,使得开发人员通过配置菜单和对话框就可以完成较复杂的编程,从而减低了编程的复杂度和大大地提高了软件的生产效率。通过本示例的实现,可以为读者开发自定义的服务器控件、设计器和操作表提供帮助。
参考文献:
[1]张建.net2.0配置文件中用户自定义配置的应用[j].电脑编程技巧与维护.2006.(11):14.
[2]吴冰.基于的登录控件开发及安全策略[d].厦门大学.2008.
[3]吴冰,黄文达.服务器控件开发[j].计算机与现代化.2008.(04).
本文链接:http://www.qk112.com/lwfw/jsjlw/jisuanjiyingyong/245004.html