最明显一个区别就是委托可以=也可以+=;而事件只能+=,也就是只能订阅。只能+=意味着你无法影响其他订阅该事件的方法执行。而委托呢,只要一个=操作,你就等于破坏了别的方法执行。事件是必须要有的。比如obj.MouseDown += MyEventHandler(...); 如果像委托一样你obj.MouseDown=MyEventHandler(...),那就意味着别的订阅该事件的方法无法执行了。甚至一些系统预定义的,基类的而且事件也保证了EventHandler(object obj, EventArgs)时,传进来的obj肯定就是fire event的那个对象。