I am reasonably new to C# as a language (coming from a C++ background) and I am currently in the process of writing an application that makes use of an event driven API.
Just a note: If you have multiple different controls leading to the same method you can use
((Control)sender)
to access it for every control, regardless the type of control (above it was just hardwritten, what object it has to be)