System.EventArgs和System.EventHandler的作用

System.EventHandler是在事件处理过程中用于Windows Forms(和APS.NET)API的一种委托类型。如你所见,此委托只能指向第一个参数是System.Object类型的方法,此参数代表触发事件的类型。例如,我们打算改写mnuFileExit_Click()方法的实现,代码如下:

private   void  mnuFileExit_Click( object  sender, EventArgs e)
{
    MessageBox.Show(
string .Format( " {0} sent this event " , sender.ToString()));
    Application.Exit();
}

 

我们可以确定是mnuFileExit触发了事件,因为在消息框中显示了字符串。

" Exit sent this event "

你可能很想知道第二个参数System.EventArgs是做什么用的。事实上System.EventArgs只是继承了Object对象,并且提供了一些额外的功能。

 

public   class  EventArgs
{
  
public   static   readonly  EventArgs Empty;
  
static  EventArgs();
  
public  EventArgs();
}

然而,在全部的.NET事件处理中,此类型非常有用,它将会有许多其他的派生类型(同样非常有用)。例如,通过扩展EventArgs,MouseEventArgs提供了关于鼠标当前状态的细节。同样通过扩展EventArgs,KeyEventArgs提供了键盘状态的细节(例如按了哪个键),PaintEventArgs提供了与图形相关的数据,诸如此类。你将会看到许多继承于EventArgs的类型(和使用它们的委托),不仅是在Windows Forms中,而且还会在WPF和ASP.NET API中。

许多情况下,只用简单的文本编辑器就可以把越来越多的功能加入到MainWindow中(如:状态栏、对话框等),但是最终我们会累到手抽筋,因为我们还不得不手动配置许多控件的逻辑。好在Visual Studio 2008提供了许多集成的设计器,可以替我们关照这些细节。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值