E POSSIVEL LER FORMULARIOS?

MARCOS 28/06/2011 16:38:24
#377963
Prezados colegas,
Algum colega conhece um exemplo de código em VB.NET que consiga
listar (Os nomes) de todos os Labels , Caixas de texto,etc... de um Form???


Agradeço qualquer orientação

KERPLUNK 28/06/2011 17:06:21
#377968
Me.Controls, eu acho...
MARCOS 28/06/2011 17:33:13
#377972
Pessoal,
Não entendi. De que modo poderia usar o Me.Controls para ter uma lista dos controles de um Form???
WEBSTERGONTIJO 28/06/2011 17:53:32
#377975
voce pode criar uma rotina , passando todos controles para ela, e fazer um loop salvando em um banco ou em arquivo txt, nao sei o caso

Se quiser um loop de um formulario passando por cada controle ta aki um exemplo


public Shared Sub LimpaFormulario(ByVal sender As Object)
[ô]Executa uma varredura nos componentes do formulário, limpando os controles e desativa o form--
Dim I As Integer
For I = 0 To sender.controls.count() - 1
If (sender.controls.item(I).GetType Is GetType(GroupBox)) Or (sender.controls.item(I).GetType Is GetType(Panel)) Or _
(sender.controls.item(I).GetType Is GetType(TabControl)) Or (sender.controls.item(I).GetType Is GetType(TabPage)) Or _
(sender.controls.item(I).GetType Is GetType(ListView)) Then
pLimpaFormulario(sender.controls.item(I))
Else
If sender.controls.item(I).GetType Is GetType(TextBox) Then
sender.controls.item(I).Text = [Ô][Ô]
End If
If sender.controls.item(I).GetType Is GetType(MaskedTextBox) Then
sender.controls.item(I).ctLText = Replace(sender.controls.item(I).text, [Ô]#[Ô], [Ô]_[Ô])

End If
If sender.controls.item(I).GetType Is GetType(ComboBox) Then
sender.controls.item(I).SelectedIndex = -1
End If
End If
Next
End Sub

esse ai ele passa pelos controle limpando eles... se quiser aprimoro para vc , peguei um modelo pronto do meu sistema
PEGUDO 29/06/2011 10:17:56
#378009
Resposta escolhida
[txt-color=#0000f0]For Each[/txt-color] CaixaDeTexto [txt-color=#0000f0]As[/txt-color] TextBox [txt-color=#0000f0]In Me[/txt-color].Controls.OfType([txt-color=#0000f0]Of[/txt-color] TextBox)
MsgBox([txt-color=#e80000][Ô]Nome do Controle: [Ô][/txt-color] & CaixaDeTexto.Name)
[txt-color=#0000f0]Next[/txt-color]

[txt-color=#0000f0]For Each[/txt-color] Rotulo [txt-color=#0000f0]As[/txt-color] Label [txt-color=#0000f0]In Me[/txt-color].Controls.OfType([txt-color=#0000f0]Of[/txt-color] Label)
MsgBox([txt-color=#e80000][Ô]Nome do Controle: [Ô][/txt-color] & Rotulo.Name)
[txt-color=#0000f0]Next[/txt-color]

E assim por diante...

Ou você pode colocar:

[txt-color=#0000f0]For Each[/txt-color] Controle [txt-color=#0000f0]As[/txt-color] Control [txt-color=#0000f0]In Me[/txt-color].Controls
MsgBox([txt-color=#e80000][Ô]Nome do Controle: [Ô][/txt-color] & Controle.Name)
[txt-color=#0000f0]Next[/txt-color]

Assim você pega os nomes dos controles de forma genérica.
MARCOS 30/06/2011 09:15:18
#378096
Muito obrigado!
Era exatamente o que eu precisava.
Tópico encerrado , respostas não são mais permitidas