Entwickler-Ecke
WinForms - Klick-/Doppelklick-Ereignishandling bei PictureBox
der.flori - Mo 21.07.08 11:38
Titel: Klick-/Doppelklick-Ereignishandling bei PictureBox
Hallo,
ich stehe vor folgendem Problem:
ich habe eine PictureBox und dafür jeweils ein Klick-/DoppelKlick-Event registriert.
Beim einfachen Klick soll ein Rahmen (BorderStyle.FixedSingle) um die Box gesetzt werden, beim Doppelklick eine Anwendung (bis jetzt nur eine MessageBox) gestartet werden.
Leider wird das Doppelklick-Ereignis jedoch nie ausgelöst.
Das is für mich unverständlich, weil beim Windows-Explorer gibt es ja die gleiche Funktionalität!
--> Beim einfachen Klick markieren und bei Doppelklick öffnen.
Gibt es eine Lösung für dieses Problem?
Es funktioniert jedoch einwandfrei, wenn ich den Rahmen weglasse und z.B. nur einen Konsolentext beim Klick-Ereignis ausgeben lasse.
Christian S. - Mo 21.07.08 11:44
Hallo und :welcome:!
Ich habe es gerade mal getestet und bei mir geht das einwandfrei. Am Besten zeigst Du mal die relevanten Quelltext-Teile.
Außerdem solltest Du prüfen, ob die Events auch richtig mit den entsprechenden Methoden verknüpft sind.
Grüße
Christian
der.flori - Mo 21.07.08 12:12
Hier ein vereinfachter Codeausschnitt:
Die PictureBoxen werden dynamisch mit der Methode createLokBild() erzeugt und auf ein Panel "pGalerie" gelegt!
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28:
| public void createLokBilder() { PictureBox LokBild = this.createLokBild(.......); LokBild.Location = new Point(x,y);
LokBild.DoubleClick += new EventHandler(LokBild_DoubleClick); LokBild.Click += new EventHandler(LokBild_Click);
pGalerie.Controls.Add(LokBild); }
private void LokBild_DoubleClick(object sender, EventArgs e) { MessageBox.Show("Doppel-Klick"); }
private void LokBild_Click(object sender, EventArgs e) { PictureBox pb = (PictureBox)sender;
if (pb.BorderStyle == BorderStyle.FixedSingle) pb.BorderStyle = BorderStyle.None; else pb.BorderStyle = BorderStyle.FixedSingle; } |
der.flori - Mi 23.07.08 11:05
Leider wird das Event für den DoppelKlick nie aufgerufen!
Ich bin deshalb immer noch ratlos, weil die Logik eigentlich stimmen müsste.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!