zoukankan      html  css  js  c++  java
  • c# 事件和委托

            public static string str = string.Empty;
            private void Border_MouseLeftButtonUp_3(object sender, MouseButtonEventArgs e)
            {
                /* 实例化对象,第一次没有触发事件, 因为对象中的 ChangeNum 事件没有绑定(注册)事件*/
                EventTest es = new EventTest(); 
                es.SetValue();
                subscribEvent v = new subscribEvent();
                /* 注册事件:将 subscribEvent 类中的普通方法绑定(注册)到 EventTest 类中定义的 ChangeNum 事件。*/
                es.ChangeNum += new EventTest.NumManipulationHandler(v.printf); 
                es.SetValue();
            }
    
            #region 事件
            /***********发布器类***********/
            public class EventTest
            {
                public delegate void NumManipulationHandler();
                public event NumManipulationHandler ChangeNum;
                public void OnNumChanged()
                {
                    if (ChangeNum != null)
                    {
                        /* 事件被触发,执行与事件绑定(注册)的方法*/
                        ChangeNum(); 
                    }
                    else
                    {
                        str += "事件没有被触发!";
                    }
                }
                public EventTest()
                {
                    SetValue();
                }
                public void SetValue()
                {
                    OnNumChanged();
                }
            }
            /***********订阅器类***********/
            public class subscribEvent
            {
                /*普通方法*/
                public void printf()
                {
                    str += "触发了事件!";
                }
            }
            #endregion
  • 相关阅读:
    JavaScript概述
    JavaScript概述
    python语法基础
    python 网络编程
    python 日志模块
    python 异常处理
    python tricks
    记录_省赛(一)
    异或加密算法
    三目条件运算符
  • 原文地址:https://www.cnblogs.com/SeNaiTes/p/9518781.html
Copyright © 2011-2022 走看看