Acceder a un control cuyo nombre esta en una variable

30/12/2003 - 22:34 por Sergio C. | Informe spam
Hola,
Si por ejemplo tengo:

string control="label2";

Como puedo acceder mediante Reflection a las propiedades de mi control
label2 del formulario?


Gracias,
Sergio C.

Preguntas similare

Leer las respuestas

#1 A.Poblacion
31/12/2003 - 10:09 | Informe spam
En lugar de reflection, utiliza un bucle foreach para localizar el control y
hazle un "cast" al tipo adecuado para leer sus propiedades:

foreach (Control c in MiFormulario.Controls)
{
if (c.name == "label2")
{
mivariable = ((label)c).Text;
break;
}
}

"Sergio C." wrote in message
news:%

Hola,
Si por ejemplo tengo:

string control="label2";

Como puedo acceder mediante Reflection a las propiedades de mi control
label2 del formulario?


Gracias,
Sergio C.


Respuesta Responder a este mensaje
#2 MCP Daniel Sharp
31/12/2003 - 21:19 | Informe spam
exactamente que es lo que deseas hacer?
quizás no necesites reflection

saludos
daniel #

"Sergio C." wrote in message
news:#

Hola,
Si por ejemplo tengo:

string control="label2";

Como puedo acceder mediante Reflection a las propiedades de mi control
label2 del formulario?


Gracias,
Sergio C.


Respuesta Responder a este mensaje
#3 Juan Cristóbal Olivares C.
31/12/2003 - 22:47 | Informe spam
Eso se me había ocurrido responder, pero el nombre del control
"control.Name" no es necesariamente el nombre que tiene su variable. Si usas
esta técnica, debes asegurarte de darle el nombre correcto a cada control
(Supongo que VS.NET usa el control.Name con el mismo nombre de variable).

Atte,
Juan C. Olivares
www.juancri.com

"A.Poblacion" wrote in
message news:%
En lugar de reflection, utiliza un bucle foreach para localizar el control


y
hazle un "cast" al tipo adecuado para leer sus propiedades:

foreach (Control c in MiFormulario.Controls)
{
if (c.name == "label2")
{
mivariable = ((label)c).Text;
break;
}
}

"Sergio C." wrote in message
news:%
>
> Hola,
> Si por ejemplo tengo:
>
> string control="label2";
>
> Como puedo acceder mediante Reflection a las propiedades de mi


control
> label2 del formulario?
>
>
> Gracias,
> Sergio C.
>
>


Respuesta Responder a este mensaje
#4 Sergio C.
04/01/2004 - 23:10 | Informe spam
Primero gracias a los que habeis respondido.
Vamos a ver, tengo una serie de picturebox con nombres: pictureBox1,
pictureBox2, etc.
Mi intencion es cambiar la imagen del picturebox que me indique una
variable. Por ejemplo, yo puedo tener:

int miVariable;
miVariable=2;

En este momento querria cambiar la imagen del pictureBox2.
Por eso queria saber si yo puedo de alguna forma acceder a sus
propiedades a partir de: "pictureBox" + miVariable.ToString().


Un saludo,
Sergio C.

"MCP Daniel Sharp" escribió en el mensaje
news:
exactamente que es lo que deseas hacer?
quizás no necesites reflection

saludos
daniel #
Respuesta Responder a este mensaje
#5 Juan Cristóbal Olivares C.
05/01/2004 - 02:04 | Informe spam
Una forma es la que ya te han dado: recorrer los controles buscando por el
nombre. Form.Controls no acepta índices de texto, así que debes recorrerlos
buscando el control con el nombre que deseas.

Atte,
Juan C. Olivares
www.juancri.com

"Sergio C." wrote in message
news:u%23Gs$%

Primero gracias a los que habeis respondido.
Vamos a ver, tengo una serie de picturebox con nombres: pictureBox1,
pictureBox2, etc.
Mi intencion es cambiar la imagen del picturebox que me indique una
variable. Por ejemplo, yo puedo tener:

int miVariable;
miVariable=2;

En este momento querria cambiar la imagen del pictureBox2.
Por eso queria saber si yo puedo de alguna forma acceder a sus
propiedades a partir de: "pictureBox" + miVariable.ToString().


Un saludo,
Sergio C.

"MCP Daniel Sharp" escribió en el mensaje
news:
> exactamente que es lo que deseas hacer?
> quizás no necesites reflection
>
> saludos
> daniel #


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida