Jak wyczyścić na formularzu wszystkie kontrolki typu TextBox

przez | 2024-01-13

Jeśli projektujesz obszerny formularz, to może się znajdować na nim kilkadziesiąt kontrolek TextBox do których użytkownik wpisuje różne dane. Aby je wyczyścić można „na piechotę” wpisać taki oto kod:

Private Sub cmdCzysc_Click()
	txtImie.Text=""
	txtNazwisko.Text=""
	txtWiek.Text=""
…. itp. …
End Sub

Ale to rozwiązanie na pewną wadę: trzeba wymienić po kolei wszystkie kontrolki (jest to żmudne i podatne na błędy, gdyż możemy o jakiejś kontrolce zapomnieć). Ale jest proste rozwiązanie: otóż za pomocą pętli For Each…Next możemy odczytać wszystkie kontroli z formularza i jeśli typ tej kontrolki to TextBox to możemy takiej kontrolce wyczyścić tekst. Oto przykładowy kod:

Private Sub cmdCzysc_Click()
    Dim Kontrolka As Control
    
    For Each Kontrolka In Me.Controls
         If TypeName(Kontrolka) = "TextBox" Then
            Kontrolka.Text = ""
        End If
    Next
End Sub

W analogiczny sposób możemy np. ukryć wszystkie kontroli danego typu:

Private Sub cmdUkryj_Click()
    Dim Kontrolka As Control
    
    For Each Kontrolka In Me.Controls
         If TypeName(Kontrolka) = "Label" Then
            Kontrolka.Visible = False
        End If
    Next
End Sub

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.