Guten Morgen,
ich steh gerade etwas auf den Schlauch: Mit welchen Event kann ich prüfen, ob mit der Maus **außerhalb **des Controls geclickt wurde (Click und Doubleclick)?
Danke
Stefan
Was hat der Bereich ausserhalb deines Controls (deines Buttons) mit dem Control selbst zu tun?
Wenn ausserhalb des Controls geklickt wird, so fang das Event doch einfach im Container ab (Form, Panel etc.).
Du kannst systemweite Maus und Tastaturevents abfangen.
Suche mal nach dem Stichwort Hook.
Ich benutzte in meinem aktuellen Programm diese Bibliothek dafür. Ich glaub die ist von CodeProject und ein wenig verbessert von mir.
[assembly: AssemblyTitle("GlobalHook")]
[assembly: AssemblyDescription("This class library contains components which monitor all mouse and keyboard activities globally (also outside of the application) and provides appropriate events.")]
[assembly: AssemblyCompany("George Mamaladze, Tobias Kaupat")]
[assembly: AssemblyProduct("GlobalHook")]
[assembly: AssemblyCopyright("Free to use, copy, modify and redistribute")]
Was hat der Bereich ausserhalb deines Controls (deines Buttons) mit dem Control selbst zu tun?
Wenn ausserhalb des Controls geklickt wird, so fang das Event doch einfach im Container ab (Form, Panel etc.).
Richtig - ich möchte jedoch, dass analog einer ComboBox eine Form geschlossen wird, wenn ausßerhalb der Form geclickt wird!
ich möchte jedoch, dass analog einer ComboBox eine Form geschlossen wird, wenn ausßerhalb der Form geclickt wird!
Dafür gibt es das Deactivate Event der Form, auf der sich die ComboBox befindet. Wird das Event ausgelöst, weißt du, dass wohl außerhalb der Form geklickt worden ist.
Das ist eine viel saubere Lösung.
> Codejunky <
Hallo,
sonst wär Control.Parent auch eine Möglichkeit, aber wie JunkyXL bereits sagte ist das Deaktivate Event eine sauberere Lösung.
mfg.
markus111
Dafür gibt es das Deactivate Event der Form, auf der sich die ComboBox befindet. Wird das Event ausgelöst, weißt du, dass wohl außerhalb der Form geklickt worden ist.
Das ist eine viel saubere Lösung.
Super vielen Dank - genau das wars.
Stefan