Wie um zu überprüfen, fokussiert TextBox in vb.net winforms?
Habe ich mehrere textbox in einem Formular. Woher weiß ich, welche textbox der cursor aktuell ist?
Versuchen, so etwas zu tun:
If TextBox2.Focus() = True Then
MessageBox.Show("its in two")
ElseIf TextBox3.Focus = True Then
MessageBox.Show("its in three")
End If
Aber ich denke, dass es nicht funktioniert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Offensichtlich wird es nicht funktionieren, wenn Sie anrufen, Ihren code in einer
Button_Click
weil, wenn Sie auf die Schaltfläche, dann der Fokus selbst ist, geht die Schaltfläche, die Sie geklickt haben.Können Sie zwei Dinge tun:
Stellen eine Kombination von Fokus-Veranstaltung für alle Textboxen und überprüfen Sie, ob Sender-Objekts.
ODER
Nehmen eine Globale string-variable, und setzen Sie seinen Wert auf jede TextBox_Focus Fall, dann überprüfen Sie die string-Wert, der in der Schaltfläche click-Ereignis.
TextBox.Fokus tatsächlich weist Sie den Fokus auf das angegebene Textfeld ein. Was du suchst ist TextBox.Fokussiert werden. 🙂
In der Tat, alle Formular-Steuerelemente haben die Fokussierte Eigenschaft.
TextBox.IsFocused
Focused
Eigenschaft ist aus der alten Windows-Forms-Bibliothek, in der Erwägung, dass dieIsFocused
ist aus der neuen Präsentation, Kern-Bibliothek. Ich glaube, es kann einige überschneidungen, Wann und wo Sie genutzt werden können.Ich weiß, dass es bereits eine akzeptierte Antwort, aber ich denke nur, diese Methode ist etwas einfacher und soll hier für Leute, die finden diese über Google oder was auch immer.
Diese Weise können Sie dann einfach beziehen sich auf die focussedTextBox zu jeder Zeit. Sie sollten sicherstellen, dass Sie überprüfen, dass es eine focussedTextBox bevor Sie das jedoch tun, weil, wenn die Anwendung zum ersten mal geladen wird es nicht. Sie können dies tun, indem Sie:
Alternativ können Sie focussedTextBox an eine TextBox Ihrer Wahl laden der form, entweder indem Sie seinen Wert oder durch die Konzentration der TextBox.