• C#中object sender,EventHandler e有个毛作用


    button1_Click(object sender,EventHandler e) 

    {
    Button button=(Button)sender;
    button.Text="text property has been changed at its event";
    }

    object 是事件的激发控件,或叫事件源:具体我们可以用MessageBox.Show(sender.ToString())直接输出,我们可以直接看到;

    如果一个按钮button1,我点击这个按钮﹕sender就是按鈕﹐因為事件是在按鈕內部触发的。如果要在程序中使用sender,一般情況下你就必須知道sender是哪个类型的(比如在上面這中情況中必須只要sender的type是Button),然后在转换到那個类型中去﹐這樣你就可以在事件中访问事件发送者的数据

    EventArgs是包含事件数据的类的基类,用于传递事件的细节:

    e是事件参数,也就是说在定义事件的类里定义的那些属性,在某些事件里,e用处不大;
    所包含的细节多少,根据各种EventArgs的定义而定,如EventArgs就是一个空值,我们在VS环境中右键"转到定义处"就可以发现其定义是这样:

    public class EventArgs
    {
    // 摘要:
    // 表示没有事件数据的事件。
    public static readonly EventArgs Empty;
    // 摘要:
    // 初始化 System.EventArgs 类的新实例。

    public EventArgs();
    }

    如MouseEventArgs是EventArgs的子类,那么它就定义了许多可以输出的值,其定义如下:

    // 摘要: // 为 System.Windows.Forms.Control.MouseUp、System.Windows.Forms.Control.MouseDown
    // 和 System.Windows.Forms.Control.MouseMove 事件提供数据。
    [ComVisible(true)]
    public class MouseEventArgs : EventArgs
    {
    // 摘要:
    // 初始化 System.Windows.Forms.MouseEventArgs 类的新实例。
    //
    // 参数:
    // clicks:
    // 鼠标按钮曾被按下的次数。
    //
    // delta:
    // 鼠标轮已转动的制动器数的有符号计数。
    //
    // Y:
    // 鼠标单击的 y 坐标(以像素为单位)。
    //
    // button:
    // System.Windows.Forms.MouseButtons 值之一,它指示曾按下的是哪个鼠标按钮。
    //
    // x:
    // 鼠标单击的 x 坐标(以像素为单位)。
    比如在MouseEventArgs的Mouse事件中,可以看到e包括mouse的坐标值等,以供你的程序使用。e参数就是通过这些定义的属性进行调用或输出的,这里我们就可以调用e.Y或e.X获得具体的参数细节了.

  • 相关阅读:
    k3sk8s集群-node节点设置不可调度或者删除node节点
    CentOS8防暴力破解fail2ban
    网站挂马情况处理
    linux给普通用户赋予sudo权限免密码
    Mockito (二十四)
    Mockito (二十三)
    Mockito (二十二)
    Mockito (二十一)
    Mockito (二十)
    Mockito (十九)
  • 原文地址:https://www.cnblogs.com/hongmaju/p/3904544.html
Copyright © 2020-2023  润新知