C#中sender的用法,最好有比较详细的实例,谢谢!或者详述一下(<type>)sender的原理。
1个回答
2013-06-23
展开全部
先来熟悉.net框架中和事件有关的类和委托,了解C#中预定义事件的处理。 EventArgs是包含事件数据的类的基类,用于传递事件的细节。 EventHandler是一个委托声明如下 public delegate void EventHandler( object sender , EventArgs e ) 注意这里的参数,前者是一个对象(其实这里传递的是对象的引用,如果是button1的click事件则sender就是button1),后面是包含事件数据的类的基类。Button类看看其中的事件声明(使用WinCV工具查看),以Click事件为例。 public event EventHandler Click; 这里定义了一个EventHandler类型的事件Click 前面的内容都是C#在类库中已经为我们定义好了的。下面我们来看编程时产生的代码。 private void button1_Click(object sender, System.EventArgs e)
{
...
} 这是我们和button1_click事件所对应的方法。注意方法的参数符合委托中的签名(既参数列表)。那我们怎么把这个方法和事件联系起来呢,请看下面的代码。 this.button1.Click += new System.EventHandler(this.button1_Click); 把this.button1_Click方法绑定到this.button1.Click事件。
{
...
} 这是我们和button1_click事件所对应的方法。注意方法的参数符合委托中的签名(既参数列表)。那我们怎么把这个方法和事件联系起来呢,请看下面的代码。 this.button1.Click += new System.EventHandler(this.button1_Click); 把this.button1_Click方法绑定到this.button1.Click事件。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询