c#.net自定义复合控件的事件与委托问题
这是我最近做的一个自定义复合控件,就想问一下,为什么子控件的属性不能设置为我自定义的属性,事件与委托为什么也不能出发,小弟弄了很久都没有明白为啥,希望各位大虾能指点下。。【急急急】
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Drawing;
using System.Collections.Specialized;
namespace ControlSpace //自定义控件命名空间
{
public class SeachButton:Control //自定义搜索复合控件
{
string butttxt; //按钮显示文本
public string ButtTxt //按钮显示文本属性
{
get { return butttxt; }
set { butttxt = value; }
}
protected override void CreateChildControls()
{
TextBox TxtBox = new TextBox(); //搜索文本子控件
Button Butt = new Button(); //搜索按钮子控件
this.Controls.Clear();
this.ViewState.Clear();
this.Controls.AddAt(0,TxtBox );
this.Controls.AddAt(1,Butt );
if (butttxt == null) //设置文本默认属性
{
butttxt = "默认按钮";
TextBox txb = ((TextBox)this.Controls[0]);
txb .Text =butttxt ;
}
Butt.Click += new EventHandler(Butt_Click); //自定义搜索提交事件
}
void Butt_Click(object sender, EventArgs e)
{
if (this.Click != null)
{
this.Click(this ,e );
}
}
protected override void Render(HtmlTextWriter writer)
{
this.CreateChildControls();
base.Render(writer);
}
public event EventHandler Click; //委托事件
}
}