Я не уверен, как это сделать, не дублируя одни и те же события в моем элементе управления и не вызывая событие Click каждой кнопки отдельно.
Это действительно правильный способ справиться с этим. Вы захотите продублировать событие, но дадите ему новое, правильное имя.
Как правило, это означает предоставление «событию щелчка» имени, связанного с активностью кнопки, а не самой кнопки. Например, если бы у вас была кнопка обновления, я бы выставил событие как что-то вроде:
public event EventHandler RefreshRequested;
Затем внутри вы прослушаете событие нажатия кнопки и вызовете событие обновления. Это также дает вам возможность позже изменить внутреннее представление (например, если вы хотите использовать что-то кроме кнопки).