Esta é uma dúvida bastante comum dentre os desenvolvedores Visual Basic. Como limpar/resetar um formulário repleto de objetos da classe “Text” sem ter que proceder de forma manual? Sem precisar usar as conhecidas instruções:
Text1.Text = “”
Text2.Text = “”
Text3.Text = “”
…. ?
Pois bem, na programação “moderna” de computadores, desenvolver as suas próprias funções (automatizar determinas rotinas) para o programador é tão importante quanto conhecer as funções, sintaxe e recursos das linguagens de desenvolvimento. Neste sentido, você encontra logo abaixo um pequeno algorítmo, uma função escrita em VB, criada com o status de “pública”, o que sugere a sua construção (copie, adapte e cole) num Module (arquivo .bas em VB). Isso possibilitará o seu uso em qualquer evento, de qualquer objeto, de qualquer formulário do seu projeto de software em Visual Basic, assim como, a reutilização do respectivo “Module.bas” em outros projetos posteriores.
‘Início do código fonte da função…
‘Declarando a função com o status de Pública, definindo o seu nome como “limpar” e especificando o parâmetro da função… que deve ser um formulário válido em VB
Public Function limpar(formulario As Form)
‘Declarando duas variáveis. Uma do tipo “controle” que pode armazenar em si qualquer
objeto do formulário, outra do tipo integer (tipo primitivo inteiro)
Dim controle As Control
Dim i As Integer
‘Bloco de repetições “for”… executará as instruções até que houverem controles (objetos) no formulário passado por parâmetro
For i = 0 To formulario.Controls.Count – 1
‘Define o conteúdo (seta) da variável controle… a cada passada pelo loop “for” atribui a variável um controle/objeto diferente presente no formulário em questão
Set controle = formulario.Controls(i)
‘Avalia se o controle em questão é do tipo TextBox, ou seja, se é uma caixa de texto
If TypeOf controle Is TextBox Then
‘Se for uma caixa de texto, se pertencer a classe dos TextBox, limpa a propriedade “Text”. Se não for, não faz nada!
controle.Text = “”
End If
‘Incrementa 1 a variável “i”, vai para o próximo loop do for
Next i
‘Termina a função aqui
End Function
Para utilizar a função, basta “invocá-la” passando para a mesma o formulário que você deseja limpar. Por exemplo, num evento click de um CommandButton2:
Private Sub Command2_Click()
limpar Form2
End Sub