VB - Array de objetos

04/03/2008

0

Galera, meu forte é Java, mas novamente eu to precisando fazer um trabalho em Visual Basic e ai o Bicho Pega.

Eu queria saber como eu faço para criar uma array de objeto Text por exemplo:

Eu criei um módulo que tem o seguinte código:
Public Sub desativaCampo(ByRef obj As Object)
        obj(cont).Enabled = False
        obj(cont).BackColor = &H80000000
End Sub

Public Sub ativaCampo(ByRef obj() As Object)
        obj.Enabled = True
        obj.BackColor = &H80000005
End Sub


Ai na minha tela eu coloco:

desativaCampo(txtCampo1)
ativaCampo(txtCampo1)


Nesse código acima ele deixa desativado e com a cor cinza e quando eu chamo o ativaCampo(objeto) ele ativa o campo que foi passado como parametro.

Eu queria saber se tem como eu passar mais que um campo de uma só vez, como parametro.

Eu tentei algo como:

Public Sub desativaCampo(ByRef obj() As Object)
    Dim cont As Integer
    For cont = 0 To obj
        obj(cont).Enabled = False
        obj(cont).BackColor = &H80000000
    Next
End Sub

Public Sub ativaCampo(ByRef obj() As Object)
    Dim cont As Integer
    For cont = 0 To obj
        obj(cont).Enabled = True
        obj(cont).BackColor = &H80000005
    Next
End Sub


Ai no minha tela eu faria:
desativaCampo(txtCampo1, txtCampo2, txtCampo7)


Mas não deu certo!
HELP ME


Terra.jr

Terra.jr

Responder

Posts

05/03/2008

Hugoestevam

Tente isso:

Preenchendo o arrayList:
Dim arrTextBox as new arraylist

arrTextBox.add txtCampo1
arrTextBox.add txtCampo2
arrTextBox.add txtCampo3


Funções ativa e desativa:
Public Sub desativaCampo(ByRef arrTextBox As arrayList) 
dim t as textbox
    For each Obj in arrTextBox
         if typeof(Obj) is TextBox then
            t = ctype(Obj,textbox)
            t.Enabled = False
            t.BackColor = &H80000000
         end if
    next
End Sub 

Public Sub ativaCampo(ByRef arrTextBox As arrayList) 
dim t as textbox
    For each Obj in arrTextBox
         if typeof(Obj) is TextBox then
            t = ctype(Obj,textbox)
            t.Enabled = True
            t.BackColor = &H80000005
         end if
    next
End Sub 


Chama as funções ativa e desativa:
desativaCampo(arrTextBox) 
ativaCampo(arrTextBox)


Espero que ajude...
Até mais


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar