Part of your question was if you could make an event handler at design time. Normally all you need to do create an event handler, which is really just a method that matches the signature of the event delegate:
private void Handler (object sender, EventArg arg)
The sender argument is a great feature that is included in .NET that allows the class that sent the event to be determeined. Normally you would want to cast it to the type you know it is, probably a button:
Button b = (Button) sender;
If you are handling events for more than one type and need to use the
Is
operator to determine the type.
Having this cast variable allows properties of the sender to be determined so that the evant handler can do what it should for the event.
The other answers provide information on how to attach an event to this event handler. Howerver, you do not need to specify the
new EventHandler
anymore (feature not in the initual releases of C#), all you need is:
Button.Click += Handler;
There is a way to actually dynamically create an event handler, but that requires some beta software code named Roslyn to be installed.