Почему бы не связать каждую кнопку с тем же событием, а затем получить имя элемента управления, чтобы определить, является ли кнопка закрытия (поскольку каждый элемент управления ДОЛЖЕН иметь уникальное имя, если вы не динамически добавляете элементы управления в форма, но даже при этом вы должны назначать имя). EDIT: И, получив имя, которое я на самом деле имею в виду сравнение, если элемент управления, который вызвал событие такое же один, что вы хотите, чтобы выполнить действие, близкое открытые действия и т.д. :)
public Form1()
{
InitializeComponent();
btnCloseButton.Click += new EventHandler(OnUserControlClick);
btnOtherRandomButton.Click += new EventHandler(OnUserControlClick);
btnOtherRandomButton1.Click += new EventHandler(OnUserControlClick);
}
private static void OnUserControlClick(object sender, EventArgs e)
{
if (sender as UserControl == btnCloseButton)
{
this.Close();
}
}
Не совсем уверен, что причина голосом, так как он отвечает на вопрос с образцом и объяснением. Плохое поведение ... –