First, you can use different anonymous method to add to a invocation list of every button:
Button.Click += (sender, eventArgs) => { };
Anyway, from the body of each anonymous handler you can always call some common methods. Overall, this approach is the most convenient.
If you want to get fancy in the way Bill Woodruff mentioned in his comment, you can use my
DynamicMethodDispatcher
I offer in my article
Dynamic Method Dispatcher[
^]. With the dispatcher, you can use different ways of writing the handler. Please see; I provide good range of usage samples.
—SA