Für den Anfang möchte ich mein Problem für Sie beschreiben.Detect Klick aus der Steuerung in C#
Ich möchte eine riesige Anzahl von Datensätzen in so etwas wie Combobox zeigen, aber weil Combobox keine gute Lösung für die Anzeige einer so großen Anzahl von Daten ist, simuliere ich Combobox-Verhalten mit DataGridView.
Jetzt ist mein Problem, wenn Benutzer aus DataGridView klicken, sollte DataGridView geschlossen werden (wie Combobox, wenn es nicht reduziert oder gelöscht wird). Aber es gibt eine Menge anderer Kontrolle über das Formular und ich kann nicht Click-Ereignis von allen von ihnen zu erkennen, dass von DataGridView geklickt wurde.
zusammenfassend Ich suche nach einer einfachen Lösung für unsichtbare DataGridView, wenn Benutzer klicken Sie darauf.
am Ende kenne ich ein vages Bewusstsein der MouseCapture-Eigenschaft von Kontrollen, aber ich kann nicht damit arbeiten und ich weiß nicht, wie kann ich das für die Behandlung meiner Wunsch.Ich bin dankbar, wenn Sie mir bei der Verwendung von MouseCapture helfen können dieses Problem lösen oder eine andere Lösung geben.
Dank für Sie
offensichtlich Fokus verloren und verlassen ist nicht meinen asnwer – hamed
Ich denke, der Drop-down-Teil der ComboBox Steuerung ist eigentlich in einem separaten Fenster aus dem Textfeld. Sie könnten etwas Ähnliches versuchen: Zeigen Sie Ihr DataGridView in einem separaten, dedizierten Fenster und verstecken Sie dieses Fenster, wenn es deaktiviert ist. – adv12
Vielleicht gibt es eine einfache Lösung, aber ich bin in WinForms ein wenig eingerostet, so dass im Moment nur etwas wie http://stackoverflow.com/questions/4991044/winforms-intercepting-mouse-event-on-main-form vorschlagen kann -first-not-on-controls –