Keyevent von Combobox an Textbox über Code weitergeben

Jumula

Grünschnabel
Hallo,
ich habe eine Textbox und eine Combobox. Wenn jemand in der Combobox eine Taste drückt (außer Return um was auszuwählen), so soll er in der Textbox normal weiterschreiben können bzw. z.b auch mit Pfeiltasten nach links und rechts gehen können.

Ich möchte jetzt also aus dem Key-Down der combobox den gedrückten Key an die Textbox weitergeben sodass dort das Event bzw. Aktion ausgelöst wird, als ob der Benutzer diese Taste auf der Textbox gedrückt hätte....

Weiß jemand wie das geht:confused:
Ich kenne schon My.Computer.Keyboard.Sendkey...aber da kann man nur Strings übergeben und ich weiß nicht den korrekten String der Taste. Habe nur das e der übergabe, was ein KeyEventArgs - Objekt ist.

Vielen Dank!:)
 
Die "Entschlüsselung der Problembeschreibung hat mir ein bisschen Mühe bereitet, aber ich glaube, ich habe dein Problem gelöst. Jedenfalls will ich das hoffen.

Du musst so vorgehen, dass due das Keypress-Event (ich habe mit KeyPress gearbeitet, anstatt von KeyDown) der TextBox dem KeyPress-Event der ComboBox übergibst.

Das kannst du folgendermaßen tun:

Code:
Private Sub ComboBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ComboBox1.KeyPress
        AddHandler ComboBox1.KeyPress, AddressOf TextBox1_KeyPress
End Sub

Wenn du jetzt irgendeine Taste in der ComoBox drückst, dann wird das KeyPress-Event der TextBox gerufen, also z. B. wenn du die gedrückte Taste prüfen möchtest, dann kannst du das nur im KeyPress-Event der TextBox, nicht im KeyPress-Event der ComboBox tun.

Und wenn du so willst, dass der Benutzer nur eine Taste in die ComboBox eingibt und dann in der TextBox weiterschreibt, dann den Focus einfach an die TextBox weitergeben.

Und wenn du überprüfen willst, ob die TextBox die Taste wirklich von der ComboBox bekommen hat, dann einfach nur im KeyPress-Event der TextBox einschreiben:

Code:
If sender Is ComboBox1 Then...

DerStauner

ich korrigiere: mit dem AddHandler wir dem KeyPress-Event der ComboBox AUCH das KeyPress-Event der TextBox übergeben, d. h. du kannst die gedrückte Taste auch im KeyPress-Event der ComboBox prüfen.
 
Zuletzt bearbeitet:
Zurück