zoukankan      html  css  js  c++  java
  • 【C#】事件总结

    事件是委托的一个很重要的应用,其实事件就是委托的实例,事件一般由外部触发产生

    例如:当我们设计一个按钮的控件的时候,我们可以捕获到用户点击按钮,但是我们不知道用户点击按钮时需要进行什么操作,这个时候就可以通过事件来让用户自己定义按钮的操作

    下面看看事件的使用

    1、事件定义

      1)定义事件委托  2)定义事件参数  3)实例化委托(即事件)  4)定义触发事件函数(用来触发事件)

        public delegate void MyEventDelegate(object sender, MyEventArgs e);
        public class EventDemo
        {
            //定义事件
            public event MyEventDelegate OnMyEvent;
            
            //定义事件触发函数
            public void OnEvent()
            {
                if (OnMyEvent != null)
                {
                    //执行注册过的事件函数
                    OnMyEvent(this, new MyEventArgs("事件被触发"));  
                }
            }
        }
        //定义事件参数类
        public class MyEventArgs:EventArgs
        {
            public string Msg { get; set; }
            public MyEventArgs(string msg)
            {
                this.Msg = msg;
            }
        }

    2、事件的使用

      注册事件,触发事件

        class Program
        {
            static void Main(string[] args)
            {
                Program p = new Program();
                EventDemo demo = new EventDemo();
                demo.OnMyEvent += new MyEventDelegate(p.demo_OnMyEvent);    //注册事件
                
                demo.OnEvent(); //触发事件
            }
    
            public void demo_OnMyEvent(object sender, MyEventArgs e)
            {
                Console.WriteLine("用户自定义的事件函数被执行");
            }
        }
  • 相关阅读:
    防止IE缓存jquery ajax 内容
    MyBatis中主要类的生命周期和应用范围
    MyBatis学习练习
    MySql 日期格式化函数date_format()
    getFields()和getDeclaredFields()
    Java final修饰形参
    随笔
    Java SSH远程执行Shell脚本实现(转)
    jQuery 属性操作
    [git]解决:git config --global push.default matching
  • 原文地址:https://www.cnblogs.com/bomo/p/2865938.html
Copyright © 2011-2022 走看看