Custom Web Control [一]

MSDN这样介绍 CWC (Custom Web Control):

Web 自定义控件是在服务器上运行的编译组件,它们将用户界面和其他相关功能封装在可复用包中。Web 自定义控件可以包含标准 ASP.NET 服务器控件的所有设计时功能,包括对 Visual Studio 设计功能(如“属性”窗口、可视化设计器和工具箱)的完全支持。

MSDN http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vbcon/html/vbwlkWalkthroughCreatingCustomWebControls.asp

其实,如果你看过微软的附带在vs.net2003中的几个例子,你就会发现,aspx页面只是简单的引用了几个控件。几乎所有的操作都在控件中完成。这样,你的代码重用性就会很好,而且程序也比较好维护!

使用这种方式作过几个项目了,现在重新理清思路,整理一下。

关于custom controlcustom property

01-20

正在编写一个custom control,有3个properties, 分别是backstartcolor, backendcolor, backGradientMode. 用来画出一个色彩渐进的背景。后来想到能否用一个property就代替(应该是修改)以上3个,于是就加了一个Sytle property.rn代码如下rnpublic class MyControlrnrnpublic ControlStyle.Style Stylern rn getrn rn return style;rn rn setrn rn this.style = value;rn ControlStyle.ChangeStyleProperties(this, value); rn rn rnrnrnpublic class ControlStylern rn public enum Stylern rn Custom,rn LightBlue,rn XpBluern rnrninternal static void ChangeStyleProperties(object sender, Style style)rn rn if(sender is ExplorerBar)rn rn ExplorerBar explorerBar = (ExplorerBar)sender;rn switch(style)rn rn case Style.LightBlue:rn explorerBar.BackStartColor = Color.FromArgb(195, 218, 249);rn explorerBar.BackEndColor = Color.FromArgb(159, 191, 245);rn explorerBar.BackGradientMode = LinearGradientMode.Horizontal;rn break;rn case Style.XpBlue:rn explorerBar.BackStartColor = Color.FromArgb(122, 161, 230);rn explorerBar.BackEndColor = Color.FromArgb(99, 117, 214);rn explorerBar.BackGradientMode = LinearGradientMode.Vertical;rn break;rn rn rn rnrn=========================================================================rn现在的问题是,上面的代码虽然工作,但结构差,添加新的style或维护麻烦,同时在property bar里4个是平行的,而理想的是可扩展的。(Style->backstarkcolor/backendcolor/backGradientMode)不知谁有好的建议,希望指点一二。

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试

关闭