zoukankan      html  css  js  c++  java
  • C#--object sender, EventArgs e(转载)

    object sender:表示触发事件的控件对象
    EventArgs e:表示事件数据的类的基类

    Windows程序有一个事件机制。用于处理用户事件。

    在WinForm中我们经常需要给控件添加事件。例如给一个Button按钮添加一个Click点击事件。给TextBox文本框添加一个KeyPress 键盘按下事件。通过强大的IDE,双击控件就能直接添加一个该控件默认的事件。

    private void btnError_Click(object sender, EventArgs e)
    {
            //some codes here.
    }

    击Button,自动生成的是Click事件,事件的命名是控件名字加下划线加操作名字命名的。该事件还有两个参数,一个是object类型的sender,还有一个是EventArgs类型的e。

    从英文意思来看sender和e这两个参数:

    sender:发送者

    EventArgs:事件参数 (EventArguments)

    Aggument:论点

    object:对象,基类

    sender参数用于传递指向事件源对象的引用。简单来讲就是当前的对象。例如button的点击事件,那么这个sender就代表这个button自己。

    private void btnError_Click(object sender, EventArgs e)
    {
          //获取当前点击的Button
          Button thisClickedButton = sender as Button;
    }

    由于sender指的是事件源对象,sender是object类型,用的时候记得转一下类型才可以用。

    e参数是是EventArgs类型。简单来理解就是记录事件传递过来的额外信息。一般用于传递用户点击的位置啊,键盘按下的键等事件的额外信息。例如TextBox中有一个KeyPress事件。

     private void inputTextBox_KeyPress(object sender, KeyPressEventArgs e)
     {
        //获取当前对象
         TextBox tb = sender as TextBox;
    
          //获取当前按下来的键值
          char c = e.KeyChar;
     }

    在事件里可以通过e点出来,不过不同的事件传递的信息也会不同。

    原文:https://www.cnblogs.com/gdf456/p/10133958.html

  • 相关阅读:
    [LeetCode-JAVA] Count Complete Tree Nodes
    [LeetCode-JAVA] Shortest Palindrome
    [LeetCode-JAVA] Best Time to Buy and Sell Stock IV
    [LeetCode-JAVA] Word Ladder II
    [LeetCode-JAVA] Jump Game II
    Keil开发的ARM程序main函数之前的汇编分析
    STM32平台SD卡的FatFS文件系统开发
    STM32 Cortex-M3 NMI异常
    应对STM32 Cortex-M3 Hard Fault异常
    LwIP协议栈开发嵌入式网络的三种方法分析
  • 原文地址:https://www.cnblogs.com/mexihq/p/12794099.html
Copyright © 2011-2022 走看看