Autor Beitrag
ifferl
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 21.01.09 15:09 
Hallo,

ich habe eine Anwendung mit mehreren Forms erstellt. Jedes Form hat an der gleichen Stelle einen Button zum schliesen. Die Forms werden übereinanderliegend geöffnet.
Wenn ich nun auf dem Button des obersten Forms einen Doppelklick mache dann schliesst dieser nicht nur das oberste Form sondern auch das darunterliegende.
Der Doppelklick wird wohl wie zwei einzelne Klicks behandelt?!
Wie kann ich diesen Effekt verhindern?

Die Forms werden mit ShowDialog() geöffnet
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Mi 21.01.09 16:30 
Hallo und :welcome:

ich sehe keinen Weg, das zu verhindern, weil es dem Standardverhalten unter Windows entspricht: Das, was durch einen Button erreicht werden soll, wird durch einen einfachen Click ausgelöst. Wenn dadurch ein modales Formular geschlossen wird, bleibt offenbar noch ein Click übrig für das Formular, das danach den Focus bekommt.

Dringende Empfehlung: Gehe davon aus, dass auf einen Button nur einmal geklickt werden soll.

Gruß Jürgen
ifferl Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 21.01.09 16:43 
vielen Dank für die Antwort.

ich habe nun (nach Tagelanger Suche) doch noch eine Lösung entdeckt wie ich das .net austricksen kann ;-)

Falls es jemanden interessiert die Lösung:
bevor ich das nächsthöhere Form aufrufe deaktiviere ich in dem aufrufenden Form alle Buttons. bei der Rückkehr zu diesem Form führe ich Applikation.DoEvents() aus und verwerfe damit alle Maus und Tastatureingaben. Danach gebe ich die Buttons wieder frei.
Funktioniert perfekt.