According to Microsoft event naming guidelines, the sender parameter in a C# event handler \"is always of type object, even if it is possible to use a
sender
It's because you can never be sure who fired the event. There is no way to restrict which types are allowed to fire a certain event.