• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • ASP.net組件編程中的兩種事件編寫方法

    發表于:2007-07-14來源:作者:點擊數: 標簽:
    以下是組件代碼: using System; using System.Web.UI; using System.Web.UI.WebControls; using System.ComponentModel; namespace NSEventStudy { public delegate void TwoEventHandle(int flag); public class EventStudy : System.Web.UI.WebControls.W

    以下是組件代碼:
    using System;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.ComponentModel;

    namespace NSEventStudy
    {
     public delegate void TwoEventHandle(int flag);

     public class EventStudy : System.Web.UI.WebControls.WebControl
     {
     
      ///////////////第一種定義事件的方法////////////////////
     
      public event TwoEventHandle TwoEvent;

      public void Execute(int flag)
      {
       TwoEvent(flag);
      }

      ////////////////第二種定義事件的方法////////////////////
     
      private static object _Process = new object();
      public event TwoEventHandle ThreeEvent
      {
       add
       {
        Events.AddHandler(_Process,value);
       }
       remove
       {
        Events.RemoveHandler(_Process,value);
       }
      }

      public void InnerExecute(int flag)
      {
       TwoEventHandle handle = (TwoEventHandle)Events[_Process];
       if(handle != null)
       {
        handle(flag);
       }
       else
       {
        this.RaiseBubbleEvent(this,null);
       }
      }

      protected override void Render(HtmlTextWriter writer)
      {
       base.Render (writer);
       writer.WriteLine("我愛你,中國");
      }

     }
    }


    測試程序:
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;

    namespace TestEvent
    {
     /// <summary>
     /// WebForm1 的摘要說明。
     /// </summary>
     public class WebForm1 : System.Web.UI.Page
     {
      protected System.Web.UI.WebControls.Button Button1;
      protected NSEventStudy.EventStudy EventStudy1;
     
      private void Page_Load(object sender, System.EventArgs e)
      {
       // 在此處放置用戶代碼以初始化頁面  
      }

      #region Web 窗體設計器生成的代碼
      override protected void OnInit(EventArgs e)
      {
       //
       // CODEGEN: 該調用是 ASP.NET Web 窗體設計器所必需的。
       //
       InitializeComponent();
       base.OnInit(e);
      }
     
      /// <summary>
      /// 設計器支持所需的方法 - 不要使用代碼編輯器修改
      /// 此方法的內容。
      /// </summary>
      private void InitializeComponent()
      {   
       this.EventStudy1.ThreeEvent += new NSEventStudy.TwoEventHandle(this.EventStudy1_ThreeEvent);
       this.EventStudy1.TwoEvent += new NSEventStudy.TwoEventHandle(this.EventStudy1_TwoEvent);
       this.Button1.Click += new System.EventHandler(this.Button1_Click);
       this.Load += new System.EventHandler(this.Page_Load);

      }
      #endregion

      private void EventStudy1_TwoEvent(int flag)
      {
       this.Response.Write("<script>javascript:alert('TwoEvent事件觸發')</script>");
      }

      private void EventStudy1_ThreeEvent(int flag)
      {
       this.Response.Write("<script>javascript:alert('ThreeEvent事件觸發')</script>");
      }

      private void Button1_Click(object sender, System.EventArgs e)
      {
       this.EventStudy1.Execute(6);
       this.EventStudy1.InnerExecute(10);
      }
     }
    }


    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>