COMO LIMPAR UM CONTROLE ESPECIFICADO.
Olá Pessoal.
Estou com o problema em expecificar uma limpeza de conteúdos para um só controle em um form.
Já consegui fazer com que ele limpe todos os campos para todos os controles que estiverem definidos dentro do form, mas não consigo designar uma limpeza para um controle individual ou seja ; embora existam vários controles dentro de uma janela, a função só irá limpar aquele que eu designar.
Fiz assim a rotina para que me possam ajudar.
Na Classe
No Módulo
No Formulário
Para chamar :
Desde já agradeço a vossa atenção.
Atenciosamente.
Programadorvb6
Estou com o problema em expecificar uma limpeza de conteúdos para um só controle em um form.
Já consegui fazer com que ele limpe todos os campos para todos os controles que estiverem definidos dentro do form, mas não consigo designar uma limpeza para um controle individual ou seja ; embora existam vários controles dentro de uma janela, a função só irá limpar aquele que eu designar.
Fiz assim a rotina para que me possam ajudar.
Na Classe
Public Class Procedimentos
Public Enum Limpa_Controle
Todos = 0
TextBox = 1
ComboBox = 2
MaskedTextBox = 3
DateTimePicker = 4
RadioButton = 5
CheckBox = 6
End Enum
Public Property Limpeza As Limpa_Controle
Public Sub LimpaCampos(ByVal c As Control, ByRef Limpeza As Limpa_Controle)
[ô] Percorre a coleção de controles de c.
If Limpeza = Limpa_Controle.Todos Then
For Each ctr As Control In c.Controls
[ô] Verifica se o controle tem controles filhos;
[ô] se tiver, percorre a coleção.
If (ctr.Controls.Count > 0) Then
Call LimpaCampos(ctr, Limpa_Controle.Todos)
End If
[ô] Se encontrar um TextBox, limpa.
If (TypeOf ctr Is TextBox) Then
Dim t As TextBox = DirectCast(ctr, TextBox)
t.Text = String.Empty
End If
[ô] Se encontrar um ComboBox, limpa.
If (TypeOf ctr Is ComboBox) Then
Dim t As ComboBox = DirectCast(ctr, ComboBox)
t.Text = String.Empty
End If
If (TypeOf ctr Is MaskedTextBox) Then
Dim t As MaskedTextBox = DirectCast(ctr, MaskedTextBox)
t.Clear()
End If
If (TypeOf ctr Is DateTimePicker) Then
Dim t As DateTimePicker = DirectCast(ctr, DateTimePicker)
t.Value = Today
End If
Next
End If
End Sub
End Class
No Módulo
Module DefGlobais
Public ObjProcedimentos As New Procedimentos
Public ObjFuncoes As New Funcoes
End Module
No Formulário
Para chamar :
Call ObjProcedimentos.LimpaCampos(Me, Procedimentos.Limpa_Controle.Todos)
Desde já agradeço a vossa atenção.
Atenciosamente.
Programadorvb6
Public Sub LimpaCampos(ByVal c As Control, ByRef Limpeza As Limpa_Controle, Optional Controle as String = [Ô][Ô])
[ô] Percorre a coleção de controles de c.
If Limpeza = Limpa_Controle.Todos Then
For Each ctr As Control In c.Controls
[ô] Verifica se o controle tem controles filhos;
[ô] se tiver, percorre a coleção.
if Controle <> [Ô][Ô] then
if ctr.Name = Controle then
If (ctr.Controls.Count > 0) Then
Call LimpaCampos(ctr, Limpa_Controle.Todos)
End If
[ô] Se encontrar um TextBox, limpa.
If (TypeOf ctr Is TextBox) Then
Dim t As TextBox = DirectCast(ctr, TextBox)
t.Text = String.Empty
End If
[ô] Se encontrar um ComboBox, limpa.
If (TypeOf ctr Is ComboBox) Then
Dim t As ComboBox = DirectCast(ctr, ComboBox)
t.Text = String.Empty
End If
If (TypeOf ctr Is MaskedTextBox) Then
Dim t As MaskedTextBox = DirectCast(ctr, MaskedTextBox)
t.Clear()
End If
If (TypeOf ctr Is DateTimePicker) Then
Dim t As DateTimePicker = DirectCast(ctr, DateTimePicker)
t.Value = Today
End If
else
If (ctr.Controls.Count > 0) Then
Call LimpaCampos(ctr, Limpa_Controle.Todos)
End If
[ô] Se encontrar um TextBox, limpa.
If (TypeOf ctr Is TextBox) Then
Dim t As TextBox = DirectCast(ctr, TextBox)
t.Text = String.Empty
End If
[ô] Se encontrar um ComboBox, limpa.
If (TypeOf ctr Is ComboBox) Then
Dim t As ComboBox = DirectCast(ctr, ComboBox)
t.Text = String.Empty
End If
If (TypeOf ctr Is MaskedTextBox) Then
Dim t As MaskedTextBox = DirectCast(ctr, MaskedTextBox)
t.Clear()
End If
If (TypeOf ctr Is DateTimePicker) Then
Dim t As DateTimePicker = DirectCast(ctr, DateTimePicker)
t.Value = Today
End If
end if
end if
Next
End If
End Sub
[ô] Percorre a coleção de controles de c.
If Limpeza = Limpa_Controle.Todos Then
For Each ctr As Control In c.Controls
[ô] Verifica se o controle tem controles filhos;
[ô] se tiver, percorre a coleção.
if Controle <> [Ô][Ô] then
if ctr.Name = Controle then
If (ctr.Controls.Count > 0) Then
Call LimpaCampos(ctr, Limpa_Controle.Todos)
End If
[ô] Se encontrar um TextBox, limpa.
If (TypeOf ctr Is TextBox) Then
Dim t As TextBox = DirectCast(ctr, TextBox)
t.Text = String.Empty
End If
[ô] Se encontrar um ComboBox, limpa.
If (TypeOf ctr Is ComboBox) Then
Dim t As ComboBox = DirectCast(ctr, ComboBox)
t.Text = String.Empty
End If
If (TypeOf ctr Is MaskedTextBox) Then
Dim t As MaskedTextBox = DirectCast(ctr, MaskedTextBox)
t.Clear()
End If
If (TypeOf ctr Is DateTimePicker) Then
Dim t As DateTimePicker = DirectCast(ctr, DateTimePicker)
t.Value = Today
End If
else
If (ctr.Controls.Count > 0) Then
Call LimpaCampos(ctr, Limpa_Controle.Todos)
End If
[ô] Se encontrar um TextBox, limpa.
If (TypeOf ctr Is TextBox) Then
Dim t As TextBox = DirectCast(ctr, TextBox)
t.Text = String.Empty
End If
[ô] Se encontrar um ComboBox, limpa.
If (TypeOf ctr Is ComboBox) Then
Dim t As ComboBox = DirectCast(ctr, ComboBox)
t.Text = String.Empty
End If
If (TypeOf ctr Is MaskedTextBox) Then
Dim t As MaskedTextBox = DirectCast(ctr, MaskedTextBox)
t.Clear()
End If
If (TypeOf ctr Is DateTimePicker) Then
Dim t As DateTimePicker = DirectCast(ctr, DateTimePicker)
t.Value = Today
End If
end if
end if
Next
End If
End Sub
Tópico encerrado , respostas não são mais permitidas