关于object sender,EventArgs e 的一些解释
( object sender , EventArgs e ) 是C#里面的事件响应的代码,在我们打印的课本的122页里面有讲到一些,结合网上的一些资料,总结如下:
EventArgs是包含事件数据的类的基类,用于传递事件的细节。
EventHandler是一个委托声明如下(其在.Net类库中如下声明的)
public delegate void EventHandler( object sender , EventArgs e )
所以,所有形如: void 函娄名(object 参数名,EventArgs 参数名); 的函数都可以作为Control类的Click事件响应方法了。object的参数名一般用Source或Sender来表示,两个没有区别。
如下面所定义的一个事件响应方法:
private void button1_Click(object sender, System.EventArgs e)
参数object sender表示引发事件的对象(其实这里传递的是对象的引用,如果是button1的click事件则sender就是button1),System.EventArgs e 代表事件的相应信息。
下面我们可以看下Button类的事件声明,以Click事件为例。
public event EventHandler Click;
这里定义了一个EventHandler类型的事件Click
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事件。
以上原理简单理解下就可以了,在实际操作中我们只需要在代码里面调用Web控件里面使用button控件,里面的属性OnClick="button1_Click" 语句便可以起到调用方法的功能了。在VS。NET中可以直接在设计页面加入button, 而上面红色的那行代码编译器会自动实现(可在cs代码文件里面看到)。