Entwickler-Ecke
C# - Die Sprache - Tastaturabfrage
Daffke - Fr 29.06.07 17:55
Titel: Tastaturabfrage
Hallo!
Irgendwie hab' ich's nich' kapiert :-(
Wie kann ich meine richTextBox daraufhin abfragen, ob die "Enter"-Taste gedrückt wurden?
In Internet hab' ich zwar ein paar "OnKeyDown"-Beispiele gefunden, aber die funktionieren alle bei mir nich' :-(
Kann mir vielleicht jemand ein vollständiges(!) Code-Beispiel dafür nennen?
Vielen Dank!
Gruß,
Daffke
Christian S. - Fr 29.06.07 18:11
Vollständiger Code birgt immer die Gefahr, dass man den übernimmt ohne zu lernen.
Das KeyPress-Ereignis bekommt als Parameter mit Namen e Daten vom Typ KeyPressEventArgs. Diese Daten enthalten die Information, welche Taste gedrückt wurde: e.KeyChar. Das musst Du vergleichen mit der Return-Taste, diese bekommst Du am einfachsetn so: (Char)Keys.Return.
Ist der Vergleich wahr, führst Du den entsprechenden Code aus.
Grüße
Christian
P.S.: Dein Titel ist nicht wirklich aussagekräftig.
Daffke - Fr 29.06.07 18:19
Hi Christian!
Vielen Dank für die schnelle Antwort.
Das mit dem KeyPress-Ereignis hab' ich auch schon probiert. Aber leider reagiert das Programm nicht darauf. Es bewegt sich nach "Enter"-drücken "nich' die Bohne"! :-(
Es mag ja sein, dass man nix lernt, wenn man den Code einfach übernimmt. Aber Ihr habt mir in diesem Forum schon weitergeholfen und Eure Tipps waren oftmals auch sehr hilf- und lehrreich.
Denn: Nur, wenn der eigegebene Code auch funktioniert, begreift man die Zusammenhänge!
Gruß,
Daffke
Christian S. - Fr 29.06.07 18:22
Ich habe es gerade ausprobiert. Mit dem, was ich oben beschrieben habe, funktioniert es bei mir. Zeig am besten Mal den Code, der bei Dir nicht funktioniert.
Daffke - Fr 29.06.07 18:54
Also, der Code lautet:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| protected override void OnKeyPress(KeyPressEventArgs e) { if (e.KeyChar == (Char)Keys.Return) { MessageBox.Show("Enter!"); } base.OnKeyPress(e); } |
:-(
Muss doch eigentlich geh'n, oder?
Geht aber nich' ...
Moderiert von
Christian S.: Quote- durch C#-Tags ersetzt
Christian S. - Fr 29.06.07 19:02
Nein, das passt nicht.
Was Du da gemacht hast, ist, die OnKeyPress-Methode der Form zu überschreiben, das hat nix mit dem RichEdit zu tun (es sei denn, Du hast vom RichEdit eine eigene Klasse abgeleitet, aber da gehe ich mal nicht von aus).
Du brauchst doch nur das Ereignis benutzen, welches das RichEdit schon zur Verfügung stellt! Einfach im Formdesigner die Eigenschaften / Ereignisse des RichEdit anzeigen und für das Richtige per Doppelklick den Event-Handler anlegen lassen. Und in dem macht sich Deine if-Abfrage dann sehr gut ;)
Daffke - Fr 29.06.07 19:12
Hi Christian!
Suuuuper! Danke! :-) :-) *freu*
Es geht jetzt einwandfrei.
Tja, als Anfänger übersieht man schon mal die Möglichkeiten, die das SDK bietet.
Dass es eine Liste "Ereignisse" gibt is' mir tatsächlich noch nie aufgefallen. Es is' halt nich' so einfach, wenn man sich alles selbst beibringen muss :-(
Danke nochmals für die einfache Erklärung! :-)
Viele Grüße,
Daffke
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 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!