Umgang mit einem Klick für alle Steuerelemente in einem Formular

Habe ich eine .NET UserControl (FFX 3.5). Diese Steuerung enthält mehrere untergeordnete Steuerelemente - ein Panel, ein paar Aufkleber, ein paar Textfelder, und noch ein custom Control. Ich möchte zu handhaben, ein rechts-Klick auf die Basis-Steuerung - also ein Rechtsklick auf ein untergeordnetes Steuerelement (oder ein Kind von einem Kind im Fall des Panels). Ich möchte es so tun, dass es wartbar, wenn jemand änderungen an der Steuerung, ohne Draht-in-Handler für Steuerelemente, zum Beispiel.

Zuerst habe ich versucht das überschreiben der WndProc-Methode, aber wie ich vermutet hatte, bekomme ich nur Nachrichten, die für Klicks auf das Formular direkt, nicht seine Kinder. Als semi-hack, ich habe das folgende nach InitializeComponent:

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

Dieser bekommt nun die Klicks für die Kontrollen, dass die Unterstützung der Veranstaltung, aber Etiketten, zum Beispiel, immer noch nicht alles bekommen. Gibt es eine einfache Möglichkeit, dies zu tun, dass ich im Blick?

InformationsquelleAutor ctacke | 2008-10-29
Schreibe einen Kommentar