zoukankan      html  css  js  c++  java
  • C# 事件

    C# 事件包含以下对象或元素:

    近期学习了一下C#中事件的用法,因为平时用的不多,所以简单的看了看,做个笔记。

    EventArgs:事件发生时事件处理方法需要的数据(状态等),是一个不包含任何逻辑的一个贫血对象。

    Delegate EventHandler(Object sender,EventArgs):类型是委托类型,是事件处理函数的委托,sender是事件触发的对象。

    event EventHandler Event:类型是事件类型,是一个类型为EventHandler的一个事件委托。一般在需要触发事件的地方进行调用。

    写一个手柄按下X键后角色发动攻击的例子:

    首先添加一个手柄监视的类:

    public class XClickEventArgs : EventArgs
    {
        //状态字段
    }
    
    public class WatchHandle
    {
        public delegate XClickEventHandler(Object sender,EventArgs e);
        public event XClickEventHandler XClickEvent;
        public bool IsXButtonClick(){
            While(1)
            {
                //这里写监视代码,比如不断的查询COM接口状态
                XClickEvent(this,new XClickEventArgs());
            }
        }
    }
    

    接下来写当X键按下后执行角色攻击:

    public class Player{
        private WatchHandle watchHandle;
        public Player(){
            watchHandle = new WatchHandle();
            watchHandle += new XClickEventHandler(OnXClick);
        }
    
        public void OnXClick(object sender, XClickEventArgs e){
            this.Attack();
        }
    }
    
  • 相关阅读:
    C# 制作卸载文件
    【转】C#窗体飞入飞出的动画效果(Api)
    C# 给picturebox添加滚动条
    js中的各种获取日期
    Java与.NET 的Web Services相互调用
    android源码、博文2
    仿网易新闻app下拉标签选择菜单
    安卓巴士android源码、博文精选1
    android源码 分享1
    优秀源码分享
  • 原文地址:https://www.cnblogs.com/kakura/p/6264557.html
Copyright © 2011-2022 走看看