Вероятно, это очень простой вопрос, но по какой-то причине даже правильный способ поиска ответа в Интернете ускользает от меня ...
Я ' m пытается создать пользовательский элемент управления, состоящий из нескольких меток и индикаторов выполнения. Однако я хочу, чтобы у всего элемента управления было событие «Click», которое возникает независимо от того, какой элемент внутри элемента управления был нажат. Я создал процедуру «HandleClick», которая назначается каждому элементу управления:
private void HandleClick(object sender, EventArgs e)
{
// Call the callback function, if we were asked to
if (OnClick != null)
{
EventArgs ee = new EventArgs();
OnClick(this, ee);
}
else
{
MessageBox.Show("OnClick was null!");
}
}
OnClick в этом случае - это переменная, определенная на уровне элемента управления:
public new event EventHandler OnClick;
Теперь это правильно работает только с формой. На одной этикетке он показывает MessageBox, а затем вызывает событие во вложенной форме. Все остальные показывают окно сообщения.
У меня такое чувство, что это должно быть очевидно, но после полудня разочарования я чувствую, что упускаю что-то само собой разумеющееся, но когда я это увижу, я почувствую себя полным шутом ... .. может ли кто-нибудь перестать хихикать над моей глупостью достаточно долго, чтобы просветить меня, в чем я ошибся?