zoukankan      html  css  js  c++  java
  • c# 委托机制

    public class AppEvent{

     //键值对委托的形式

        public static AppEvent Events = new AppEvents()

        private Dictionary<string, EventHandler> DelegateList = new Dictionary<string ,EventHandler>();

       

       #region 装备事件索引

       public const string Aoi_GeoDraw="aoigeodraw";

       #endregion

       public void AddListener(string name,EventHandler handler)

       {

            if(!DelegateList.ContainsKey(name))

              {

                  DelegateList.Add(name,handler);

              }

           else 

            {

                   DelegateList.Remove(name);

                   DelegateList.Add(name,handler);

            }

      }

    //执行方法

    public void Dispath(string name,object obj)

    {

        if(DelegateList.ContainsKey(name))

          {

              DelegateList[name](obj,null);

          }

    }

    }    

     // 窗体调用

     // 初始化监听对象

      private vid InitalizeEventListener(string list_AoiValue)

       {

          AppEvent.Events.Dispatch(AppEvent.Aoi_GeoDraw,list_AoiValue);

      }

    //事件监听

    private void InitializeEventListener()

    {

            AppEvent.Events.AddListener(AppEvent.Aoi_GeoDraw,Aoi_GeoDrawEvent);

    }

    // 触发事件

    private void Aoi_GeoDrawEvent(object sender,EventArgs e)

    {

         if(sender!=null)

          {

             txt_Draw=sender.ToString()

         }

    }

  • 相关阅读:
    VS2015 出现 .NETSystem.Runtime.Remoting.RemotingException: TCP 错误
    C#学习笔记------参数
    C#简单工厂和抽象类的实例
    css基础1
    html中的div span和frameset框架标签
    关于C#委托的一些学习笔记
    html基础加强2
    HTML基础加强
    利用GDI+在Winfrom绘制验证码
    winfrom如何在listview中添加控件
  • 原文地址:https://www.cnblogs.com/binb/p/2479762.html
Copyright © 2011-2022 走看看