Обработка щелчка для всех элементов управления в форме

У меня есть .NET UserControl (FFX 3.5). Этот элемент управления содержит несколько дочерних элементов управления - панель, пару меток, пару текстовых полей и еще один пользовательский элемент управления. Я хочу обработать щелчок правой кнопкой мыши в любом месте базового элемента управления - поэтому щелкните правой кнопкой мыши любой дочерний элемент управления (или дочерний элемент в случае Panel). Я хотел бы сделать это так, чтобы его можно было обслуживать, если кто-то вносит изменения в элемент управления, например, без необходимости подключать обработчики для новых элементов управления.

Сначала я попытался переопределить WndProc, но, как я и подозревал, я получаю сообщения только за клики в форме, а не от ее дочерних элементов. В качестве полухака я добавил следующее после InitializeComponent:

  foreach (Control c in this.Controls)
  {
    c.MouseClick += new MouseEventHandler(
      delegate(object sender, MouseEventArgs e)
      {
        // handle the click here
      });
  }

Теперь он получает щелчки для элементов управления, которые поддерживают событие, но, к примеру, метки до сих пор ничего не получают. Есть ли простой способ сделать это, что я пропускаю?

Ответы на вопрос(2)

Ваш ответ на вопрос