c#事件怎么理解?

来源:百度知道 编辑:UC知道 时间:2024/05/12 18:02:54
c#的事件函数中,像
private void btnClick(object sender, System.EventArgs e)
{
}这里的sender 是哪里来的,在哪里定义了这个变量啊,像c语言中变量在使用之前应该先定义才行啊,这里没有对其进行定义怎么可以直接用呢?再说一般在后面也不会看到sender这个变量被使用,只是作为参数被使用一次,以后就再也不出现了?
实在是不明白,想了一年了????????????????
还有,后面的那个参数也不太理解,也是没定义啊!
还有就是这种事件函数参数个数是固定的吗?能不能改变?可不可以把参数去掉,有什么后果?。。。。不明白啊?
这里面的触发,传递,处理过程是怎样的?晕啊。。。。

Sender是触发事件的时候传递过来的,一般是事件触发对象本身,private void btnClick(object sender, System.EventArgs e),这个的Sender就是个按钮对象,你写的这个函数会被按钮类在点击按钮的时候调用。代码里应该会有这样一行在 private void InitializeComponent()中:this.btn.Click += new System.EventHandler(this.btnClick); 这段代码在.cs文件中默认是折叠起来的。这个事件处理函数被指定给了按钮btn,所以会在点击按钮的时候调用你写的函数,并传递相关参数。如果把参数去掉好像会报错滴