如题。
代码如下,也希望能对初学者起到一些启发意义,并请各位指点:public class UTextBox : TextBox
    {   
       //在类里,定义一个委托 
        public delegate void MyHandler(object sender, EventArgs e);
        //定义事件的KEY 
        private static readonly object MyObj = new object();        //使用这个委托,定义事件 
        public event MyHandler MyEvent
        {
            add
            {
                Events.AddHandler(MyObj, value);
            }
            remove
            {
                Events.RemoveHandler(MyObj, value);
            }
        }        //使用事件的方法 
        private void OnMyMethodHandler(EventArgs e)
        {
            MyHandler handler = (MyHandler)Events[MyObj];
            if (handler != null)
            {
                handler(this, e);
            }
        }        private void MyClick(object sender, EventArgs e)
        {
            OnMyMethodHandler(e);
        }     
        protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            base.Render(writer);            RenderChildren(writer);//此方法可以将嵌入的控件呈现出来
        }
        protected override void CreateChildControls()
        {
            base.CreateChildControls();
            
            Button btn = new Button();
            btn.ID = "btn";
            btn.Text = "Test";            btn.Click += new EventHandler(TextBox_Change);
            Controls.Add(btn);
        }
}前台页面测试:
<cc1:UTextBox2 ID="UTextBox2" runat="server" onmyevent="UTextBox2_MyEvent" ></cc1:UTextBox2>
后台:
protected void UTextBox2_MyEvent(object sender, EventArgs e)
        {
            Response.Write(1111111111111);
        }运行后,点击“Test”按钮,但并未显示111111111,只是页面刷新了一下。不知道我的事件哪里没写好,还是其他原因?