2017-07-27 2 views
1

Ich habe ein benutzerdefiniertes Benutzersteuerelement, das ein Bilderfeld und ein Etikett enthält. Ich möchte, dass immer dann etwas passiert, wenn der Benutzer irgendwo innerhalb der Grenzen von UserControl doppelklickt. Das Bildfeld und das Label blockieren jedoch, dass Doppelklickereignisse vom UserControl erfasst werden, sodass Doppelklicks nur registriert werden, wenn auf einen Bereich geklickt wird, der nicht durch das Bildfeld oder das Label verdeckt wird.Auslösen von Elternereignis von Ereignissen von Kindern Visual Studio

Ich habe versucht, zwingt Doppelklick Ereignisse auf dem Bildfeld und Label OnMouseDoubleClick() Funktion der UserContol ist zu nennen, aber es funktioniert nicht wie erwartet:

pictureBox1.MouseDoubleClick += Double_Click; 
label1.MouseDoubleClick += Double_Click; 

...

private void Double_Click(object sender, MouseEventArgs e) 
{  
    // Raises UserControl's double-click event  
    this.OnMouseDoubleClick(e); 
} 

Warum sollte ein Doppelklick auf das Bildfeld oder das Label das OnMouseDoubleClick-Ereignis des UserControls nicht auslösen?

Antwort

0

diesen Code versuchen, es funktioniert für mich:

label1.DoubleClick += label1_DoubleClick; 
pictureBox1.DoubleClick += pictureBox1_DoubleClick; 

private void label1_DoubleClick(object sender, EventArgs e) 
{ 
    OnDoubleClick(e); 
} 

private void pictureBox1_DoubleClick(object sender, EventArgs e) 
{ 
    OnDoubleClick(e); 
} 
+0

Das ist es. Ich habe 'OnMouseDoubleClick' anstelle von' OnDoubleClick' verwendet. – Alex

Verwandte Themen