zoukankan      html  css  js  c++  java
  • 在asp.net中使用自定义事件(带参数)

    原文:http://www.sosuo8.com/article/show.asp?id=1013 (建议看原文)


           坦白说自定义事件在asp.net中用到的机率确实很低,但低并不代表没有用到。尤其是在做自定义控件的时候,嘿嘿,自定义事件几乎就不可避免地要用到。

           记得以前在博客http://yeah888.blog.sohu.com/上写过一个关于自定义事件在asp.net中的使用的帖子。那个例子是不带参数,现在回过头来看看,确实不大爽。所以今天有空就把那个例子重做了一次。注意,我并不是强调自定义事件就一定要带参数才算是事件,我只是拿那个例子小题大做,目的就是为了说明自定义事件带参数的应用而已。

    好了,废话少说,看代码:


    //1.首先定义一个参数类
    public partial class SayEventArgs : EventArgs
    {
        
    public String Username;
        
    public String Websiteurl;
    }

    //2.定义一个委托
    public delegate void SayEventHandler(object sender,SayEventArgs e);

    //3.定义一个事件
    public event SayEventHandler SayEvent;

    //4.引发事件
    public void OnSayEvent(SayEventArgs e)
    {
            
    if (SayEvent != null)
            {
                SayEvent(
    this, e);
            }
    }

    //5.传参函数
    public void Loginsite(String Username, String Websiteurl)
    {
            SayEventArgs e 
    = new SayEventArgs();
            e.Username 
    = Username;
            e.Websiteurl 
    = Websiteurl;
            Label1.Text 
    = e.Username + "<br>";
            Label1.Text 
    += "欢迎你来到<a href=" + e.Websiteurl + ">痞子菜雨夜听风小轩</a>";
            OnSayEvent(e);
    }

    //6.所要委托的函数
    public void Saysomething(object sender, SayEventArgs e)
    {
            Label2.Text 
    = e.Username+"请注意:<br>在呢个博客<a href=" + e.Websiteurl + ">痞子菜雨夜听风小轩</a>度,唔系事必要你讲野,但系你所讲既野将来会作为呈堂证供,ok?";
    }

    //7.建立委托实例
    SayEvent += new SayEventHandler(Saysomething);

     Loginsite(
    "痞子菜""u/admin/index.html");

    看到了吗?定义事件也就这几步,要复杂点的话就把函数写得复杂点就行了。就这样。

  • 相关阅读:
    在下拉框中选择数据
    代码添加批处理类
    重置用户状态(初始化用户)
    当前窗口控制(显示、隐藏、破坏)
    窗体分隔符实现
    使用USB移动硬盘 遭遇 "Windows无法为Volume加载安装程序。请于硬件供应商联系,寻求协助" 错误,“灰鸽子”后遗症的处理
    使用IDL创建TypeLib(.tlb)文件
    ngrep使用方法
    常用的正则表达式
    治疗鼻炎的药
  • 原文地址:https://www.cnblogs.com/syveen/p/795259.html
Copyright © 2011-2022 走看看