Visual Basic - VB para aplicaciones(matrices de controles)

Life is soft - evento anual de software empresarial
 
Vista:

VB para aplicaciones(matrices de controles)

Publicado por Paranoid (1 intervención) el 19/07/2004 15:49:58

Dado que con vb con aplicaciones, no se como crear (creo que no se puede) un array de controles directamente cuando los pones en el formulario (del tipo opt1(0),opt1(1)) con sus index, etc,etc,etc)

Estoy intentando esto:
Private Sub UserForm_Initialize()

Dim Ports2_Array(24) As control
Dim Active_Port As Control
Dim index As Integer
index = 0
For Each Active_Port In UserForm2.Controls
If Left(Active_Port.Name, 3) = "chk" Then
Ports2_Array(index) = Active_Port
index = index + 1
End If
Next Active_Port
End Sub

Pero me falla todo el rato... alguien sabe como puedo hacerlo???El motivo es simple... poder recorrelos todos rapidamente con un for, igual que en vb 6.0 pero no se como hacerlo, estoy desesperado, y me niego a hacerlo boton a boton.

Gracias a tod@s
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:VB para aplicaciones(matrices de controles)

Publicado por miguel (1042 intervenciones) el 19/07/2004 17:51:27
Si quieres controles en tiempo de ejecucion, debes de tener uno creado como referencia para crear los demas...ejemplo
Private Sub Form_Activate()
Dim Obj As Object
Static i
For Each Obj In Me.Controls
If TypeOf Obj Is CommandButton Then
i = i + 1
Load Command1(i)
Command1(i).Visible = True
Command1(i).Left = Command1(i - 1).Left + Command1(i - 1).Width
Command1(i).Caption = "Clon" & i
ElseIf TypeOf Obj Is OptionButton Then
k = k + 1
Load Option1(k)
Option1(k).Visible = True
Option1(k).Left = Option1(k - 1).Left + Option1(k - 1).Width
Option1(k).Caption = "Clon" & k
End If
Next
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar