日期:2014-05-20  浏览次数:20869 次

再问事件问题
+=后一定要执行自己的方法来启动事件吗
比如写个方法RaiseEvent(){if(myevent!=null)......}
我看C#自带的怎么就可以直接使用呢.
比如button1.click+=new   eventhandler(button_click)
然后在button_click里写代码就行了.

------解决方案--------------------
输入+= 后再按下Tab键就会自动产生委托声明了,再按一下Tab就产生方法体了.
除非你没有声明为event而是直接的delegate
------解决方案--------------------
to +=后一定要执行自己的方法来启动事件吗-----------这个,你先后顺序搞错了。正确的顺序是,你按下button1按钮,程序接受到这个被按钮按下的事件,而此button1按钮事件是click,然后其遍历它所连接的对事件响应---也就是处理事件的方法。
在c#中已经定义了委托和事件,而响应事件的方法需要用户来实现具体的动作。对于button(或control)详细的过程如下:
public delegate void EventHandle(object sender,EventArgs e);
public event EventHandle OnClick;
button1.OnClick += new EventHandle(button1_click);
private void button1_click(object sender,EventArgs e)
{
//事件的具体相应
}