博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#中object sender,EventHandler e有个毛作用
阅读量:7240 次
发布时间:2019-06-29

本文共 1288 字,大约阅读时间需要 4 分钟。

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获得具体的参数细节了.

 

转载地址:http://idybm.baihongyu.com/

你可能感兴趣的文章
WebServices中Xml的序列化
查看>>
linux API函数大全
查看>>
在T-SQL语句中访问远程数据库
查看>>
C++类/函数默认参数
查看>>
word专题---表格
查看>>
变量的结构赋值
查看>>
ASP.NET MVC 路由(五)
查看>>
洛谷——P2983 [USACO10FEB]购买巧克力Chocolate Buying
查看>>
表单的checkbox选中和取消
查看>>
SCI journals on Energy
查看>>
IOS基本数据类型之枚举
查看>>
【转】链表经典问题总汇
查看>>
Android 调用系统Email发送带多附件的邮件
查看>>
Problem N
查看>>
结对编程之——黄金点游戏(单机版)
查看>>
Javascript之类型检测(一)
查看>>
Axios库简单封装
查看>>
Oracle遇到的一些问题
查看>>
RabbitMQ入门-高效的Work模式
查看>>
以后要把flex用起来
查看>>