LIMPAR CAMPOS DENTRO DO GROUPBOX APOS CADASTRAR?

WANDERJSAN 22/10/2012 18:10:28
#412543
Boa noite a todos!!

Estou fazendo um PRONTUÁRIO DE FISIOTERAPIA e, coloquei os textbox dentro de um GROUPBOX, porém, quando vou cadastrar um fisioterapeuta, logo após preencher os campos e clicar em NOVO, ele não limpa os mesmos para um novo cadastro. A partir daí, criei um novo formulário e coloquei os campos diretamente nele e, foi feito o cadastro normalmente, abrindo os campos em branco após clicar no botão NOVO.

Por favor, alguém poderia me ajudar como fazer para que ele limpe os campos de dentro do GROUPBOX. Segue abaixo o código LimparTela.

Obrigado a todos pela atenção!!!


<Extension()>
Public Sub LimparTela(ByVal formulario As Form)
For Each ctl As Control In formulario.Controls
If TypeOf ctl Is TextBox Then
ctl.Text = [Ô][Ô]
DirectCast(ctl, TextBox).Clear()
ElseIf TypeOf ctl Is Label AndAlso
Convert.ToString(ctl.Tag) = [Ô]1[Ô] Then
ctl.ResetText()
End If
Next
End Sub
ADHEL 22/10/2012 19:16:14
#412550
Coloca essa função num módulo

Public Sub LimparControles(ByVal ControlePai As Form)
For Each ctl As Control In ControlePai.Controls
If TypeOf (ctl) Is TextBox Then [ô] TextBox
DirectCast(ctl, TextBox).Text = String.Empty
ElseIf TypeOf (ctl) Is TextBox Then [ô] TextBox
DirectCast(ctl, TextBox).Text = String.Empty
ElseIf TypeOf (ctl) Is CheckBox Then [ô] CheckBox
DirectCast(ctl, CheckBox).Checked = False
ElseIf TypeOf (ctl) Is MaskedTextBox Then [ô]Combobox
DirectCast(ctl, MaskedTextBox).Text = [Ô][Ô]
ElseIf TypeOf (ctl) Is GroupBox Then [ô]Groupbox
For i = 0 To ctl.Controls.Count - 1
ctl.Controls(i).Text = [Ô][Ô]
Next
ElseIf TypeOf (ctl) Is ComboBox Then [ô]ComboBox
DirectCast(ctl, ComboBox).Text = String.Empty
DirectCast(ctl, ComboBox).SelectedIndex = -1
ElseIf TypeOf (ctl) Is DataGridView Then [ô] Datagrid
DirectCast(ctl, DataGridView).DataSource = Nothing
ElseIf ctl.Controls.Count > 0 Then
LimparControles(ctl)
End If
Next
End Sub


E para chamá-la é só colocar em algum lugar isso

LimparControles(Me)

limpa todos os controles
WANDERJSAN 22/10/2012 19:34:19
#412553
Boa noite ADHEL!!!

Deu certo, porém, ele está limpando também todos os campos LABEL, ficando somente os Textbox em branco.
ADHEL 22/10/2012 19:58:47
#412555
Coloque a propriedades TAG dos textbox para 1

Public Sub Limpar(ByVal controlP As Control)
Dim ctl As Control
For Each ctl In controlP.Controls
If TypeOf ctl Is TextBox Then
If CType(ctl, TextBox).Tag = [Ô]1[Ô] Then
DirectCast(ctl, TextBox).Text = String.Empty
End If
ElseIf ctl.Controls.Count > 0 Then
Limpar(ctl)
End If
Next
End Sub

Para chamar é apenas
Limpar(Me)
esse código peguei aqui mesmo no site
WANDERJSAN 22/10/2012 21:32:34
#412559
Deu certo!!!!
Muito obrigado pela atenção ADHEL!!!!
Tópico encerrado , respostas não são mais permitidas