开发自定义控件的笔记(1)

1、从哪个类继承

System.Control
System.Web.WebControls.WebControl

WebControl类是从Control类继承过来的,Control类只有一些基本的功能,而WebControl则有更多的关于控件的描述和修饰。

2、
Render 和 RenderContents方法
重写Render方法,这样可以实现在设计时和运行时显示内容一样的效果
另外,还有一个就是RenderContents方法,两个其实一样,只不过摆放的位置,RenderContents更合理,在html呈现的时候,会把可视化的属性。

3、
添加一个图标到TOOLBAR,方法很简单,就是添加一个BMP的图,将资源设置为包含引用,并且设置大小为16x16的,图标的名字和类名字相同即可。

4、运行时和设计时的操作

在设计时和运行时不同的展示效果
添加一个新的类
Designer.cs
在解决方案中添加一个引用System.Design
引入以下命名空间
System.IO
System.Web.UI;
System.Web.UI.WebControls

并且这个类要从 System.Web.UI.Design.ControlDesigner继承

public Class Designer : System.Web.UI.Design.ControlDesigner
{
    //重写原来的一个方法
 public override string GetDesignTimeHtml()
 {
  //在这里实现在设计时的展现内容
  //默认的情况是返回基类的方法,return base.GetDesignTimeHtml();
  //我们要根据自己的情况进行改写
  //具体的内容请参考MSDN
 }
}

/*
然后我们要在自定义控件的属性(attribute)中添加针对设计时的描述
[Designer("WebControlLibrary1.Designer,WebControlLibrary1"),D.....
*/

待序……

先贴这么多,明天再贴开发复合控件的笔记和一个实例

你可能感兴趣的:(自定义控件)