Referenciar objetos

24/08/2005 - 21:29 por Carlos Durán Urenda | Informe spam
Como puedo hacer esto...

teniendo en una variable string el nombre de un objeto del formulario, como
puedo obtener una referencia a dicho objeto? algo mas o menos como lo
siguiente

Dim T as string = "ComboBox1"
Dim Cmbo as ComboBox = Me.Controls(T) ' mi problema es que los
controls solo se referencian
'por
el index

Cmbo.Enabled=True


necesito poder obtener la referencia a un control a partir de su nombre, ya
que este lo obtengo de una BD

Agradezco cualquier sugerencia

Saludos
Carlos Durán
 

Leer las respuestas

#1 SoftJaén
27/08/2005 - 14:36 | Informe spam
"Carlos Durán Urenda" escribió:

teniendo en una variable string el nombre de un objeto del formulario,
como puedo obtener una referencia a dicho objeto? algo mas o menos
como lo siguiente




Hola, Carlos:

La función «TypeName» te devuelve un valor «String», que contiene
información acerca del tipo de datos de una variable, que en el supuesto de
que se trate de un control, te devolverá el tipo de control, en tu caso, te
devolverá la cadena «ComboBox». Una vez obtenido el tipo de control, podrás
compararlo con la variable alfanumérica donde guardas el nombre del control
ComboBox:

Dim T As String = "ComboBox1"
Dim Cmbo As ComboBox
Dim ctl As Object

' Recorremos la colección Controls del formulario
For Each ctl In Me.Controls

' Si se trata de un control ComboBox, referenciamos la variable
If TypeName(ctl).ToString = "ComboBox" Then
Cmbo = CType(ctl, ComboBox)

' Como puede haber más de un control ComboBox en el formulario,
' comprobamos su nombre
If T.ToUpper = Cmbo.Name.ToUpper Then
MsgBox("Nombre del control: " & Cmbo.Name)
' Si es el mismo nombre, abandonamos el bucle
Exit For
End If

End If

Next

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.

Preguntas similares