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