利用delegate调用userControl的方法

来源:互联网 发布:java主函数调用子函数 编辑:程序博客网 时间:2024/05/23 23:24

 1, 在UserControl(User11)里定义delegate
 public delegate void NewDL (object obj,System.EventArgs e);
 
public class user1 : System.Web.UI.UserControl
 {
  protected System.Web.UI.WebControls.TextBox TextBox1;
  protected System.Web.UI.WebControls.Button Button1;
  public event NewDL newevent;

  private void Page_Load(object sender, System.EventArgs e)
  {
   // Put user code to initialize the page here
  }

  #region Web Form Designer generated code
  #endregion

  private void Button1_Click(object sender, System.EventArgs e)
  {
   if(newevent!=null)
   {
    newevent(sender,e);
   }
  }
 }

2, 在使用UserControl的form里头设置并调用
    public class WebForm1 : System.Web.UI.Page
 {
  protected System.Web.UI.WebControls.Label Label1;
  protected TextDelegate.user1 User11;
  private void Page_Load(object sender, System.EventArgs e)
  {
  }

  #region Web Form Designer generated code
  override protected void OnInit(EventArgs e)
  {
   InitializeComponent();
   base.OnInit(e);
  }
  
  private void InitializeComponent()
  {   
   this.Load += new System.EventHandler(this.Page_Load);
   User11.newevent += new TextDelegate.NewDL (this.NewEventHandler);
  }
  #endregion

  private void NewEventHandler(object obj,System.EventArgs e)
  {
   string ss="ssssssssssssssssssssss";
   this.Label1.Text = ss;
  }

 }

原创粉丝点击