LIMPAR CAMPOS DO FORM

WEBSTERGONTIJO 19/11/2010 07:40:18
#357807
Bom dia,

Tem algum comando que possa de uma so vez limpar todo conteudo de um form, textbox, combobox .....

Ou so tem o velho metodo mesmo, de criar uma torina para cada componente???


agurdo!!!!
JONATHANSTECKER 19/11/2010 07:57:54
#357809
    [ô][ô][ô] <summary>
[ô][ô][ô] Limpa os controles do formulário
[ô][ô][ô] </summary>
[ô][ô][ô] <param name=[Ô]ControlePai[Ô]>Formulário a ser executado o método</param>
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 CheckBox Then [ô] CheckBox
DirectCast(ctl, CheckBox).Checked = False
ElseIf TypeOf (ctl) Is ComboBox Then [ô]ComboBox
DirectCast(ctl, ComboBox).Text = String.Empty
DirectCast(ctl, ComboBox).SelectedIndex = -1
ElseIf TypeOf (ctl) Is DataGrid Then [ô] Datagrid
DirectCast(ctl, DataGrid).DataSource = Nothing
ElseIf ctl.Controls.Count > 0 Then
LimparControles(ctl)
End If
Next
End Sub

[ô] Chamada do método limpar no evento click do botão
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.LimparControles(Me)
End Sub


[txt-color=#e80000]***ALTERAÇÂO.: Erro de digitação.[/txt-color]
LEARDINI 19/11/2010 08:13:13
#357810
Amigo, Bom dia.

Eu tive o mesmo Problema, mas o meu era que os TextBox estavam em um Painel e GroupBox, segue abaixo meu antigo código.

  
[ô]LIMPA OS TEXTBOX
Private Sub Limpar()

Dim Controles As Control

For Each Controles In Me.Controls

If TypeOf Controles Is TextBox Then

Controles.Text = [Ô][Ô]

End If

Next

End Sub


Meu Novo código funciona em Textbox, MaskedTextBox, RichTextBox dentro de Painel e GroupBox.

  
Public Sub ClearText(Optional ByVal _obj As Object = Nothing)

Dim _ctr As Control [ô]//USA CONTROLE GENERICO

[ô]//VERIFICA SE FOI PASSADO ALGUMA COLEÇÃO COMO PARAMETRO
If _obj Is Nothing Then

[ô]//SETA O PARAMETOR COMO O CONTROLE DO FORME
_obj = Me.Controls
End If


[ô]//PARA CADA CONTROLE
For Each _ctr In _obj

[ô]//VERIFICA SE EH TEXTBOX E MASK
If (TypeOf _ctr Is TextBox) Or (TypeOf _ctr Is MaskedTextBox) Or (TypeOf _ctr Is RichTextBox) Then

[ô]//LIMPA
_ctr.Text = [Ô][Ô]

Else
[ô]//EXECUTA A FUNCAO EM RECURSAO
Call ClearText(_ctr.Controls)
End If

Next

End Sub


Espero que ajude
Tópico encerrado , respostas não são mais permitidas