Tópico anterior Próximo tópico Novo tópico
VB / VBA
#482302 - 14/06/2018 03:54:46 | ||||
![]() ROTTZEUS BELO HORIZONTE Cadast. em:Junho/2011 ![]() |
Boa noite pessoal!!!
Pessoal, sou novo neste fórum e gostaria de contar com a experiência de vocês para solucionar um problema. Tenho a necessidade de mudança de um sistema antigo, em que estou com uma dúvida que não consigo achar o caminho. Preciso percorrer todos os controles de um form e automatizar uma rotina para habilitar ou não determinado controle. Contudo, minha dúvida consiste a partir do momento que encontro controles indexados name(i).enabled e controles não indexados name.enabled. Percorrer o form não é o problema, pois uso o código abaixo For i = 0 To Me.Controls.Count - 1 If TypeOf Me.Controls(i) Is OptionButton Then 'Aqui preciso saber se o OptionButton está indexado ou não, pois terei as duas situações e nomes diferentes para fazer uma busca diretamente pelo name do controle 'Tentei várias formas com IF para identificar se era indexado ou não, Me.Controls(i).Name.item(i).caption, Me.Controls(i).Name.count para identificar se é ou não indexado, Me.Controls(i).Name.index, mas estou apanhando realmente ''Me.Controls(i).text = "" ElseIf TypeOf Me.Controls(i) Is CommandButton Then 'Aqui faria a mesma checagem com o commandbutton, pois no form há tanto controles indexados, como não indexados. Else 'Se não fosse nem um optionbutton, nem um commandbutton não preciso fazer nada End If Next Se alguem puder me dar um help, fico agradecido. Abraço a todos!!! rottzeus |
|||
#482331 - 17/06/2018 13:03:17 | ||||
![]() JABA CABO FRIO Cadast. em:Agosto/2005 ![]() |
Dim i As Integer For i = 0 To Me.Controls.Count - 1 MsgBox IsControleIndexado(Me.Controls(i)) & " - " & Me.Controls(i).Name Next Public Function IsControleIndexado(controle As Object) As Boolean IsControleIndexado = Not controle.Parent.Controls(controle.Name) Is controle End Function _______________________________________________________________________________________________ Se a alma ou espírito são imateriais, como eles fazem para se localizarem quando o corpo está em movimento? |
|||
#482417 - 21/06/2018 08:32:04 | ||||
![]() MESTRE GUARULHOS Cadast. em:Novembro/2013 ![]() |
Última edição em 21/06/2018 08:33:38 por MESTRE **Desconsiderar os componentes da DevExpressCitação: Dim controle As Control Public Function Testar_vazio(ByVal tela As Object) As Boolean Dim controle As Control Dim controle2 As Control For Each controle In tela.Controls If TypeOf controle Is TextBox Or TypeOf controle Is MaskedTextBox Or TypeOf controle Is DateTimePicker Or TypeOf controle Is CheckBox Or TypeOf controle Is ComboBox Or TypeOf controle Is TableLayoutPanel Or TypeOf controle Is DevExpress.XtraEditors.TextEdit Or TypeOf controle Is DevExpress.XtraEditors.ComboBoxEdit Then If controle.Text = "" And controle.Tag <> "x" Then controle.Focus() MessageBox.Show(controle.Name) Return True End If ElseIf TypeOf controle Is GroupBox Or TypeOf controle Is DevExpress.XtraEditors.GroupControl Or TypeOf controle Is TextBox Or TypeOf controle Is MaskedTextBox Or TypeOf controle Is CheckBox Or TypeOf controle Is ComboBox Or TypeOf controle Is DevExpress.XtraEditors.TextEdit Or TypeOf controle Is DevExpress.XtraEditors.ComboBoxEdit Then For Each controle2 In controle.Controls If controle2.Text = "" And controle2.Tag <> "x" Then controle2.Focus() MessageBox.Show(controle2.Name) Return True End If Next End If Next End Function _______________________________________________ "A alegria está na luta, na tentativa, no sofrimento envolvido e não na vitória propriamente dita." Gandhi. |
|||
Tópico anterior Próximo tópico Novo tópico