/ / add event on control - jak mogę odwoływać się do samej kontroli - vb.net, winforms

dodaj zdarzenie do kontroli - jak mogę się odwołać do samej kontroli - vb.net, winforms

Chcę dodać to samo wydarzenie do wielu pól tekstowych. Powiedzmy na przykład, że chcę, aby wszystkie moje pola tekstowe przycięły wartość tekstową samego siebie, gdy straci fokus

moim pomysłem jest przeglądanie wszystkich pól tekstowych iaby dodać do niego obsługę zdarzeń, ale jak mam odwoływać się do samego pola tekstowego, myślę, że to samo co użycie słowa kluczowego „to”, ale nie jest ono dostępne w vb.net - jakieś inne zalecenia?

Odpowiedzi:

1 dla odpowiedzi № 1

Aby uzyskać element, który wywołał zdarzenie, możesz użyć sender parametr zdarzenia i rzutuj na wymagany typ. Pytanie, z której platformy korzystasz, nie jest jasne, ale poniżej znajduje się przykładowy kod dla formularzy Windows Forms:

Private Sub txt1_TextChanged(sender As Object, e As EventArgs) Handles txt1.TextChanged
Dim currentTextbox as TextBox = CType(sender, TextBox)
" Do what you want with the textbox
End Sub

Podobne zasady powinny mieć zastosowanie również do formularzy internetowych lub WPF.


1 dla odpowiedzi nr 2

Przez wszystkie pola tekstowe Użyj uchwytów dla wszystkich pól tekstowych

Private Sub TextBox1_LostFocus(sender As Object, e As EventArgs) _
Handles TextBox1.LostFocus, TextBox2.LostFocus
Dim txtBox As TextBox = sender
txtBox.Text = Strings.Trim(txtBox.Text)
End Sub