• 事件研究(一)


    事件定义

            //
            // 摘要:
            // 在单击控件时发生。
            [SRCategory("CatAction")]
            [SRDescription("ControlOnClickDescr")]
            public event EventHandler Click;

    事件订阅

    this.button1.Click += new System.EventHandler(this.button1_Click);

    事件委托类型

        // 摘要:
        // 表示将处理不包含事件数据的事件的方法。
        //
        // 参数:
        // sender:
        // 事件源。
        //
        // e:
        // 不包含任何事件数据的 System.EventArgs。
        [Serializable]
        [ComVisible(true)]
        public delegate void EventHandler(object sender, EventArgs e);

    委托就等效于一个类型安全的函数指针或一个回调。虽然委托具有许多其他的用途,但这里只讨论委托的事件处理功能。

    只有当事件生成事件数据时才需要自定义事件委托。 许多事件,包括一些用户界面事件(例如鼠标单击)在内,都不生成事件数据。 在这种情况下,类库中为无数据事件提供的事件委托 System.EventHandler 便足够了。

    事件委托是多路广播的,这意味着它们可以对多个事件处理方法进行引用。 有关详细信息,请参见 Delegate。 委托考虑了事件处理中的灵活性和精确控制。 通过维护事件的已注册事件处理程序列表,委托为引发事件的类担当事件发送器的角色。

    有关使用委托在您的组件或控件中提供事件功能的详细信息,请参见引发事件

        该文摘抄自msdn,定义事件的同时,可以自定义事件委托类型。假如给事件委托绑定了事件处理方法,当事件发生时事件处理方法的内容会被执行。

        例子使用的winform中的按钮事件代码。如果熟悉winform的开发,经过思考联系,应该能明白,事件大概运行思路。

  • 相关阅读:
    树链剖分(转载)
    随机数生成器
    错排公式的理解与推导(转载)
    容斥原理(转载)
    Luogu 3758 [TJOI2017]可乐(有向图邻接矩阵幂的意义 矩阵快速幂)
    vue input复选框checkbox默认样式纯css修改
    vue 页面切换的时候vuex记录之前的滚动条位置
    vue从入门到进阶
    es6 学习笔记
    vue 项目笔记
  • 原文地址:https://www.cnblogs.com/Tpf386/p/8081906.html
Copyright © 2020-2023  润新知