学了点皮毛,为了不忘,先做个组合控件,其下有两个imagebutton作为其子控件,作用就是可以用作Formview的Command按钮(具体作用不是最重要的,关键是怎么创建子控件,定义属性,重写render方法)
首先初始化两个ImageButton
private ImageButton tb_op;
private ImageButton tb_back;
然后定义三个属性:CommandA;CommandB;PostbackurlB并把属性添加到控件的类别中
[Bindable(true), Category("Behavior"), DefaultValue(""), Description("Button1's Commandname")]
public string CommandA
}
ps:我用的中文版的vs,希望知道Category的所有类别,在元数据中查到了所有的类别,附文后表1;属性设置除了EnsureChildControls以外没有什么悬念,关于EnsureChildControls在msdn上查到相关描述如下:
EnsureChildControls
该方法首先检查 ChildControlsCreated 属性的当前值。如果此值为假,则调用 CreateChildControls 方法。
第三步:创建子控件
protected override void CreateChildControls()
}
本来这样就基本可以了,但我需要在render前对其输入的属性做一些判断,并由此改变子控件的属性,所以重写一下render方法
protected override void Render(HtmlTextWriter writer)
}
现在我的第一个控件就写好了:)
下面是全部代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace SeyonControls.CommandButton
表1:
Action 操作
Appearance 外观
Asynchronous 异步
Behavior 行为
Data 数据
Default 杂项
Design 布局
DragDrop 拖放
Focus 焦点
Format 格式
Key 键
Layout 布局
Mouse 鼠标
WindowStyle 窗口样式
相关文章: