Array
(
)

VB - Array de objetos

Terra.jr
   - 04 mar 2008

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:
#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:

#Código
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:

#Código
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:
#Código
desativaCampo(txtCampo1, txtCampo2, txtCampo7)


Mas não deu certo!
HELP ME

Hugoestevam
   - 05 mar 2008

Tente isso:

Preenchendo o arrayList:
#Código
Dim arrTextBox as new arraylist

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


Funções ativa e desativa:
#Código
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:
#Código
desativaCampo(arrTextBox)
ativaCampo(arrTextBox)


Espero que ajude...
Até mais