modificar el .text si el nombre del control esta en una variable

04/01/2006 - 13:59 por victormonzo | Informe spam
Hola, aver si me podeis ayudar.si en una variable tengo un nombre de control, como por ejemplo c="Label1", para modificar la propiedad Text mediante la varible como podria hacerlo, c.Text=pepito; si hago esto no me deja claro, como podria indicar q kiero q vambia la propiedad pero del control q hay dentro de la varible

gracia

victormonzo

Ver este tema: http://www.softwaremix.net/viewtopic-471268.htm

Enviado desde http://www.softwaremix.net

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
04/01/2006 - 16:13 | Informe spam
Victor,

Puedes hacerlo así:

try
{
(this.Controls[this.Controls.IndexOf(c)] as Label).Text = "pepito";
}
catch (Exception ex)
{
// no existe ningún control que se llame así, o existe pero no es un
Label
// actuar según sea conveniente
}

El formulario tiene una propiedad Controls que es una colección de los
controles incorporados en él. Esta colección tiene un método IndexOf que
devuelve la posición de un control a partir de su nombre (-1 si no existe).
Por último, hay que hacer una conversión de tipo (cast) a Label porque en la
colección de controles puede en principio haber controles de cualquier tipo
(botones, barras de herramientas, etc.).

Slds - Octavio

"victormonzo" escribió en el
mensaje news:

Hola, aver si me podeis ayudar.si en una variable tengo un nombre de
control, como por ejemplo c="Label1", para modificar la propiedad Text
mediante la varible como podria hacerlo, c.Text=pepito; si hago esto no me
deja claro, como podria indicar q kiero q vambia la propiedad pero del
control q hay dentro de la varible,

gracias


victormonzo


Ver este tema: http://www.softwaremix.net/viewtopic-471268.html

Enviado desde http://www.softwaremix.net


Respuesta Responder a este mensaje
#2 José Escrich
04/01/2006 - 16:26 | Informe spam
no victor, tienes un problema conceptual allí

lo que tu asignas en una varible es un string en este caso "Label1" por lo
tanto esa "variable" por llamarlo de algún modo no es mas que un objeto de
tipo string, o sea si pones c.Text, el ".Text" aplica al objecto string,
en ningún momento tienes un puntero al objeto Label llamado Label1.

Label label1 = new Label();
label1.Text = "first hello world";
Label label2;
label2 = label1;
label2.Text = "overrided hello world";

te sugiero que leas sobre referencias, punteros y demas.
aqui te dejo un link a un manual c# en español http://www.clikear.com/manuales/csharp/c157.asp


José Escrich
jescrich (a) gmail.com
http://latincoder.com

v> Hola, aver si me podeis ayudar.si en una variable tengo un nombre de
v> control, como por ejemplo c="Label1", para modificar la propiedad
v> Text mediante la varible como podria hacerlo, c.Text=pepito; si hago
v> esto no me deja claro, como podria indicar q kiero q vambia la
v> propiedad pero del control q hay dentro de la varible,
v>
v> gracias
v>
v>
v> Ver este tema: http://www.softwaremix.net/viewtopic-471268.html
v>
v> Enviado desde http://www.softwaremix.net
v>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida