zoukankan      html  css  js  c++  java
  • 如何理解和实现c#事件

    网上有很多关于事件是如何实现的,但看来看去都不是很明了。

    有时候很多网站都转载相同的内容,千篇一律,所以自己打算好好研究一下这东东究竟如何实现。

    Step 1 什么是事件

    究竟什么是事件呢?想到事件,就让我想到911. 记得那段事件大家都在谈911事件。什么是911事件呢?就是飞机撞大楼这个动作导致了911事件的产生。但在c#中又如何理解呢。其实所谓事件,就是由某个对象发出的消息,这个消息标志着某个特定的行为发生了,或者某个特定的条件成立了。比如用户点击了鼠标,这一单击就会引起Windows给按钮消息处理程序发送一个消息,这就是OnClick事件。那个触发(raise)事件的对象称为事件的发送者(event sender),捕获并响应事件的对象称为事件的接收者(event receiver)。在winform里面,这个发送者就是我们单击的那个按钮,响应者或者叫接收者就是winform窗体。

    下面就用winform和button来举例子

    Step 2 定义button类

    Button

     Step 3定义参数类

    NewEventArgs

    Step 4 定义WinForm类

    WinForm

    Step 5 运行测试

    Test

     Step 6 小结

    测试结果:

    button

    first button

    button

    second button

    现在觉得event其实就这样,关键是理解委托的概念,这里的button1.Click += new OnClickEventHandler(btnClick);和button2.Click += new OnClickEventHandler(btnClick);其实就是委托实例而已。其次要了解事件sender对象和receiver之间的关系。

    最后希望能和大家共同探讨技术问题。

    参考:

    http://www.csharphelp.com/archives/archive253.html

  • 相关阅读:
    常用的居中方法
    CSS实现盒子高度撑开且以最高的为高
    利用vertical-align实现行内元素对齐
    CSS实现模糊效果
    【LeetCode 37】解数独
    【LeetCode 36】有效的数独
    【LeetCode 35】搜索插入位置
    【LeetCode 34】在排序数组中查找元素的第一个和最后一个位置
    【LeetCode 33】搜索旋转排序数组
    【LeetCode 32】最长有效括号
  • 原文地址:https://www.cnblogs.com/matthew/p/1270671.html
Copyright © 2011-2022 走看看