Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Mausklick in AutoComplete-Liste behauptet "Enter" sei gedrückt worden
citizen.ron
myCSharp.de - Member

Avatar #avatar-1693.jpg


Dabei seit:
Beiträge: 432
Herkunft: Frankfurt / Main

Themenstarter:

Mausklick in AutoComplete-Liste behauptet "Enter" sei gedrückt worden

beantworten | zitieren | melden

Hi Folks,

wir wollen das Drücken der Enter Taste in bestimmten Formularen abfangen (bspw. weil ein Assistent zum nächsten Schritt schalten soll o.ä.).

Problem (s. beiliegendes Projekt):
Wenn eine Textboxeine AutoComplete-Liste anbietet, der Benutzer einige Zeichen in das Textfeld eingibt, die Vervollständigungsliste aufgeht und der Benutzer dann mit der Maus eine Auswahl in der Liste trifft entsteht im Control ein Enter-Ereignis.

Das ist doch ein Bug im Framework, oder?


Wie kann ich jetzt noch umgehen, dass das Formular die Enter-Verarbeitung aufnimmt, obwohl ja nur die Listenauswahl in der Textbox eingetragen werden soll?
Attachments
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo citizen.ron,

redest du über das Enter-Event? Oder doch über das Key(Down/Up/Press)-Event für die Enter-Taste?

Insgesamt habe ich das Problem noch nicht genau verstanden.

Kennst du AcceptButton? Das scheint mir doch hier das passende zu sein.

herbivore
private Nachricht | Beiträge des Benutzers
citizen.ron
myCSharp.de - Member

Avatar #avatar-1693.jpg


Dabei seit:
Beiträge: 432
Herkunft: Frankfurt / Main

Themenstarter:

beantworten | zitieren | melden

Hi Herbivore,

das KeyDown-Ereignis erhält die Nachricht, die Eingabetaste sei gedrückt worden, obwohl es in Wirklichkeit ein Mausklick in der AutoComplete-Liste war.

AcceptButton scheidet aus: wir benutzen ComponentOne-Buttons, die nicht als AcceptButton vom Formular anerkannt werden ;-(

Was hast Du nicht verstanden?
Beiliegendes Projekt simuliert das Problem doch perfekt?

Gruß
Ron
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 4.587

beantworten | zitieren | melden

Das scheint ein normales Message-Forwarding zu sein, daß häufig in der WinAPI verwendet wird. Meistens ist es zwar der umgekehrt Fall, daß z.B. das Drücken der Leertaste in einer CheckBox als Klick-Ereignis weitergeleitet wird, aber hier scheint eben ein Mausklick das KeyDown-Enter auszulösen.
private Nachricht | Beiträge des Benutzers