Fokus auf Textfeld nach drücken der EINGABETASTE
Wie kann ich den Fokus in ein Textfeld nach drücken der EINGABETASTE in einem VBA-Formular?
Dieser code fügt den text in eine Listbox und ich möchte den Fokus auf das Textfeld, um bereit zu bekommen ein weiteres Element.
Wenn ich klicken Sie in die Taste Hinzufügen, dann wird der text in der Listbox und gibt den Fokus auf das Textfeld, allerdings, wenn ich drücken Sie die EINGABETASTE nicht, obwohl es verwendet die gleiche code. Jede Anregung?
Dies ist mein code für die textbox:
Private Sub TxtOtherAsset_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
CmdAddOtherAsset_Click
End If
End Sub
- und dies ist der code für meinen button:
Private Sub CmdAddOtherAsset_Click()
If TxtOtherAsset.Text <> "" Then
ListAddedAssets.AddItem TxtOtherAsset.Text
TxtOtherAsset.Text = ""
End If
TxtOtherAsset.SetFocus
End Sub
Ich habe versucht, mehrere Möglichkeiten, aber ich bin nicht in der Lage, um die Rückkehr der Fokus auf die textbox. Nach drücken der EINGABETASTE der Fokus geht an den nächsten in der TabIndex.
InformationsquelleAutor rubenploneda | 2011-07-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der Spitze von meinem Kopf: setzen Sie den KeyCode auf 0. Nutzen Sie auch die KeyCodeConstants Klasse (aus der Core-Bibliothek) zu bestimmen, welcher Wert die Enter-Taste.
Wie diese:
Entfernen Sie die Zeile, die Sie versuchen, den Fokus auf den anderen sub (
TxtOtherAsset.SetFocus
).Hoffe, es funktioniert für Sie. Ich habe nicht testen Sie es.
KeyCode = 0
- diese Linie ist erstaunlich! 1-2 Stunden war ich googeln, versuchen Lösungen (sogar verzweifelt lieben .NET oder VB6 verwandt), testen von anderen Veranstaltungen, da ich die Hoffnung verloren inKeyDown
... Nichts funktionierte, bis ich das gefunden golden post!InformationsquelleAutor Oneide
Sind Sie mit der Enter-Taste als Auslöser zu fangen änderungen an der text-box? Wenn das der Fall ist, versuchen Sie das Ereignis Nach Aktualisierung statt. Werfen Sie auch einen Blick auf die Auf Exit-Ereignis. Als ich mich umsah, bemerkte ich, es hat ein Cancel-parameter. Wenn Sie immer noch fangen wollen, die Enter-Taste in das Key-Down-Ereignis, könnte Ihnen möglicherweise die Auf Exit-Ereignis zu verhindern, verlassen Sie das Textfeld. Natürlich, das bedeutet wahrscheinlich, dass Sie dauerhaft stecken bleiben und möglicherweise müssen Sie einen Weg, um beenden.
InformationsquelleAutor TheOtherTimDuncan