怎么来自定义控件
2009-09-03 01:10
204 查看
自己对C#与.net的学习并不算深入,只是这段时间要用asp.net来做项目,也是出去无奈,只好好的学习了一番,学完后,感觉的确很好,加上Vs 的集成开发环境,这个开发的确迅速,而且容易上手,项目很快就要完工了,现在来总结点当时没顾得上总结的东西,决定深入下.net
在开发项目的时候,其实我根本就不知道怎么去做自定义控件,有一个复选框级联选择的功能,我用的是ThreeView控件做的,当时并不知道怎么去添加TreeView子节点控件的响应事件,应是用js+dom在客户端添加TreeView生成html元素的事件,很麻烦也费力,也不便维护。
所以这次深入,决定先从自定义控件入手,看了一些资料,关于自定义的控件的。自己想了想如果能够知道.net控件库中的控件类是怎么写的,那不更好的操纵已有的控件和更好地开发自定义控件。到网上找了下,就在博客园上找到了一个C#反编译器Reflector(下载地址http://downloads.red-gate.com/reflector.zip),很好用,能够把.net库给反编译出来。
从自己的几乎开始,先看控件部分的,按照Vs中工具箱面板中的控件顺序看看,这些控件类的源代码
第一个当然是简单的Label类了
Code
protected internal override void RenderContents(HtmlTextWriter writer)
{
if (base.HasRenderingData())
{
base.RenderContents(writer);
}
else
{
writer.Write(this.Text);
}
}
而我们自定义控件的时候,经常直接从Control继承,虽然是WebControl性质的,虽然有WebControl,但是很多就是喜欢从Control来继承,不知道为什么,不过我并不怎么赞成。毕竟那样从软件设计上来看就是一种冗余吧,也许WebControl不符合很多朋友们的使用吧。
在Label中AddAttributesToRender方法实现了动态添加属性和显示属性。
我的学习方法就是从表面上知道好东东怎么用之后,就开始深入,了解其运行机制、实现原理,那样就可以很轻松地把整个框架系统的理解下来,可以上下统一,以后做东西可以不管底层的东西,但做起来可以游刃有余。
这里有个HtmlWriterText类,估计有的朋友不知道是干啥子用的,我找了两篇文章,不明白的朋友可以看下
http://msdn.microsoft.com/zh-cn/library/system.web.ui.htmltextwriter(VS.80).aspx
/article/4620534.html
在开发项目的时候,其实我根本就不知道怎么去做自定义控件,有一个复选框级联选择的功能,我用的是ThreeView控件做的,当时并不知道怎么去添加TreeView子节点控件的响应事件,应是用js+dom在客户端添加TreeView生成html元素的事件,很麻烦也费力,也不便维护。
所以这次深入,决定先从自定义控件入手,看了一些资料,关于自定义的控件的。自己想了想如果能够知道.net控件库中的控件类是怎么写的,那不更好的操纵已有的控件和更好地开发自定义控件。到网上找了下,就在博客园上找到了一个C#反编译器Reflector(下载地址http://downloads.red-gate.com/reflector.zip),很好用,能够把.net库给反编译出来。
从自己的几乎开始,先看控件部分的,按照Vs中工具箱面板中的控件顺序看看,这些控件类的源代码
第一个当然是简单的Label类了
Code
protected internal override void RenderContents(HtmlTextWriter writer)
{
if (base.HasRenderingData())
{
base.RenderContents(writer);
}
else
{
writer.Write(this.Text);
}
}
而我们自定义控件的时候,经常直接从Control继承,虽然是WebControl性质的,虽然有WebControl,但是很多就是喜欢从Control来继承,不知道为什么,不过我并不怎么赞成。毕竟那样从软件设计上来看就是一种冗余吧,也许WebControl不符合很多朋友们的使用吧。
在Label中AddAttributesToRender方法实现了动态添加属性和显示属性。
我的学习方法就是从表面上知道好东东怎么用之后,就开始深入,了解其运行机制、实现原理,那样就可以很轻松地把整个框架系统的理解下来,可以上下统一,以后做东西可以不管底层的东西,但做起来可以游刃有余。
这里有个HtmlWriterText类,估计有的朋友不知道是干啥子用的,我找了两篇文章,不明白的朋友可以看下
http://msdn.microsoft.com/zh-cn/library/system.web.ui.htmltextwriter(VS.80).aspx
/article/4620534.html
相关文章推荐
- 怎么来自定义控件
- duilib中加入自己定义控件之后怎么可以在xml文件里配置使用
- 获取来自定义控件(继承自Contro基类)的定义在Generic.xaml或其他*.xaml中的对象
- 继承ViewGroup及其子类LinearLayout来自定义容器控件
- 从源码中浅析Android中怎么利用attrs和styles定义控件
- Android中使用shape来自定义控件显示
- 使用透明效果来自定义文件上传按钮控件样式
- 如何使用xib来自定义控件
- 获取来自定义控件(继承自Contro基类)的定义在Generic.xaml或其他*.xaml中的对象
- 使用透明效果来自定义文件上传按钮控件样式
- 获取来自定义控件(继承自Contro基类)的定义在Generic.xaml或其他*.xaml中的对象
- 直接继承View来自定义控件时,需要重写onMeasure()方法并设置wrap_content时的大小 原理分析
- Android常用控件ListView的简单优化之一: 在ViewHolder中定义static静态内部类
- c++ STL中怎么定义一个二维向量(vector)
- XIB 上的控件不显示怎么办
- 大家来探讨下,IRepository 应该怎么定义?
- dategridview控件怎么实现编辑单元格弹出下拉选项实现自动查找功能?
- 怎么为android控件边缘添加阴影
- C#中让两个日期控件间隔在一年之内怎么做呀!
- android:自己定义组合控件Weight(高仿猫眼底部菜单条)