2011-01-01 12 views
0

Ich habe MDI-Anwendung, wo Childforms Picturebox enthält. Ich möchte Pixel-Wert in picturebox.image aktiviert bekommen (fImage activeChild = this.ActiveMdiChild als fImage;) childform.So muss ich zuerst Mausereignisse in childform initiieren und dann Funktionen in untergeordneter als auch in übergeordneter Form schreiben, um auf diese zuzugreifen Veranstaltungen.Wie kann ich Mausereignisse in MDI einleiten?

// in untergeordneter Form Ich initiierte Ereignis this.pictureBox1.MouseMove + = new System.Windows.Forms.MouseEventHandler (this.pictureBox1_MouseMove);

// Ich habe keine Idee, was meine Funktion in childform looklike aussehen sollte (type, get, set), um mir Mausereignis zurückzugeben, das in pparentform geschieht. Auch die Funktion a (type, get, set) in übergeordneter Form, um Zugriff auf diese Ereignisse in childform zu haben. Irgendwelche Vorschläge?

public float pictureBox1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) 
{ 
    x = e.X; 
    y = e.Y; 

    // not clear how to code it   
} 
+0

Ich verstehe ehrlich gesagt nicht die Frage, die Sie hier stellen möchten. Können Sie erklären, was Ihr endgültiges Ziel ist und wo die Funktionen, die Sie gepostet haben, tatsächlich definiert sind? –

Antwort

0

Sie sollten eine öffentliche Methode in Ihrem Kind Form bereitzustellen, die das tut, was Sie wollen, und die Eltern dies nennen kann. Es ist besser, einfacher, sauberer. In keiner Weise überlegen, Mausereignisse zu manipulieren. Wenn Sie darauf bestehen, können Sie mouse_event mit interop aufrufen. Oder deinen eigenen privaten mousedown Handler mit Reflexion anrufend, aber das ist noch schlechter.

+0

Bitte führen Sie mich diesbezüglich weiter – Shahgee

Verwandte Themen