clase propia.

17/07/2006 - 22:42 por Juan Suarez | Informe spam
Hola que tal.

tengo la siguiente clase:

private void Habilitar()
{
foreach(Control control in groupBox1.Controls)
{
if (control is TextBox )
{
control.Enabled = true;
}
}
}

Habilita todos los objetos textbox que se encuentran dentro del objeto
groupbox. Funciona correctamente. No siempre hay que habilitar o
deshabilitar todos los textBox.anteriormente(VB) usaba la propiedad Tag
del control para averiguar cuales habilitaba. es decir, quiero hacerlo asi:

& control.Tag.ToString = = 1

...pero no me funciona. Como puedo hacerlo? es posible???

Suerte y muchas gracias.
Juan Suarez

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
18/07/2006 - 11:21 | Informe spam
Juan,

Para hacerla más útil, la propiedad Tag de Control es de tipo object:

http://msdn2.microsoft.com/en-us/li...l.tag.aspx

Si le asignas una cadena, puedes comparar así:

if (control is TextBox && (string) Control.Tag == "1")

o también como lo tenías

if (control is TextBox && Control.Tag.ToString() == "1")

Te faltaban las comillas. Ojo también al operador '&&'.

Salu2 - Octavio



"Juan Suarez" escribió en el mensaje
news:%234K6N$
Hola que tal.

tengo la siguiente clase:

private void Habilitar()
{
foreach(Control control in groupBox1.Controls)
{
if (control is TextBox )
{
control.Enabled = true;
}
}
}

Habilita todos los objetos textbox que se encuentran dentro del objeto
groupbox. Funciona correctamente. No siempre hay que habilitar o
deshabilitar todos los textBox.anteriormente(VB) usaba la propiedad
Tag del control para averiguar cuales habilitaba. es decir, quiero hacerlo
asi:

& control.Tag.ToString = = 1

...pero no me funciona. Como puedo hacerlo? es posible???

Suerte y muchas gracias.
Juan Suarez

Respuesta Responder a este mensaje
#2 Juan Diego Bueno
18/07/2006 - 12:54 | Informe spam
Vamos, lo mismo que yo decía, aunque la segunda versión no va, es
decir, no convierte a cadena con ToString(). La excepción que salta
dice que no hay instancia de objeto. En cambio, si hacemos el casting
con (string) funciona perfectamente.

Saludos

Octavio Hernandez wrote:
Juan,

Para hacerla más útil, la propiedad Tag de Control es de tipo object:

http://msdn2.microsoft.com/en-us/li...l.tag.aspx

Si le asignas una cadena, puedes comparar así:

if (control is TextBox && (string) Control.Tag == "1")

o también como lo tenías

if (control is TextBox && Control.Tag.ToString() == "1")

Te faltaban las comillas. Ojo también al operador '&&'.

Salu2 - Octavio



"Juan Suarez" escribió en el mensaje
news:%234K6N$
> Hola que tal.
>
> tengo la siguiente clase:
>
> private void Habilitar()
> {
> foreach(Control control in groupBox1.Controls)
> {
> if (control is TextBox )
> {
> control.Enabled = true;
> }
> }
> }
>
> Habilita todos los objetos textbox que se encuentran dentro del objeto
> groupbox. Funciona correctamente. No siempre hay que habilitar o
> deshabilitar todos los textBox.anteriormente(VB) usaba la propiedad
> Tag del control para averiguar cuales habilitaba. es decir, quiero hacerlo
> asi:
>
> & control.Tag.ToString = = 1
>
> ...pero no me funciona. Como puedo hacerlo? es posible???
>
> Suerte y muchas gracias.
> Juan Suarez
>
Respuesta Responder a este mensaje
#3 Octavio Hernandez
18/07/2006 - 13:26 | Informe spam
Juan,

Cierto, perdona que no vi tu respuesta por estar anidada...
Tienes razón en que la segunda variante solo funcionará si todos los TextBox
tienen algo asignado en su Tag, si alguno tiene null saltará la excepción
que dices.

Slds - Octavio



"Juan Diego Bueno" escribió en el mensaje
news:
Vamos, lo mismo que yo decía, aunque la segunda versión no va, es
decir, no convierte a cadena con ToString(). La excepción que salta
dice que no hay instancia de objeto. En cambio, si hacemos el casting
con (string) funciona perfectamente.

Saludos

Octavio Hernandez wrote:
Juan,

Para hacerla más útil, la propiedad Tag de Control es de tipo object:


http://msdn2.microsoft.com/en-us/li...l.tag.aspx

Si le asignas una cadena, puedes comparar así:

if (control is TextBox && (string) Control.Tag == "1")

o también como lo tenías

if (control is TextBox && Control.Tag.ToString() == "1")

Te faltaban las comillas. Ojo también al operador '&&'.

Salu2 - Octavio



"Juan Suarez" escribió en el mensaje
news:%234K6N$
> Hola que tal.
>
> tengo la siguiente clase:
>
> private void Habilitar()
> {
> foreach(Control control in groupBox1.Controls)
> {
> if (control is TextBox )
> {
> control.Enabled = true;
> }
> }
> }
>
> Habilita todos los objetos textbox que se encuentran dentro del objeto
> groupbox. Funciona correctamente. No siempre hay que habilitar o
> deshabilitar todos los textBox.anteriormente(VB) usaba la propiedad
> Tag del control para averiguar cuales habilitaba. es decir, quiero
> hacerlo
> asi:
>
> & control.Tag.ToString = = 1
>
> ...pero no me funciona. Como puedo hacerlo? es posible???
>
> Suerte y muchas gracias.
> Juan Suarez
>
Respuesta Responder a este mensaje
#4 Juan Suarez
18/07/2006 - 15:09 | Informe spam
Hola que tal?

Muchas gracias por sus respuesta. ha funcionado correctamente.

Suerte.

Juan Suarez
"Octavio Hernandez" escribió en el mensaje
news:%
Juan,

Cierto, perdona que no vi tu respuesta por estar anidada...
Tienes razón en que la segunda variante solo funcionará si todos los
TextBox
tienen algo asignado en su Tag, si alguno tiene null saltará la excepción
que dices.

Slds - Octavio



"Juan Diego Bueno" escribió en el mensaje
news:
Vamos, lo mismo que yo decía, aunque la segunda versión no va, es
decir, no convierte a cadena con ToString(). La excepción que salta
dice que no hay instancia de objeto. En cambio, si hacemos el casting
con (string) funciona perfectamente.

Saludos

Octavio Hernandez wrote:
Juan,

Para hacerla más útil, la propiedad Tag de Control es de tipo object:


http://msdn2.microsoft.com/en-us/li...l.tag.aspx

Si le asignas una cadena, puedes comparar así:

if (control is TextBox && (string) Control.Tag == "1")

o también como lo tenías

if (control is TextBox && Control.Tag.ToString() == "1")

Te faltaban las comillas. Ojo también al operador '&&'.

Salu2 - Octavio



"Juan Suarez" escribió en el mensaje
news:%234K6N$
> Hola que tal.
>
> tengo la siguiente clase:
>
> private void Habilitar()
> {
> foreach(Control control in groupBox1.Controls)
> {
> if (control is TextBox )
> {
> control.Enabled = true;
> }
> }
> }
>
> Habilita todos los objetos textbox que se encuentran dentro del objeto
> groupbox. Funciona correctamente. No siempre hay que habilitar o
> deshabilitar todos los textBox.anteriormente(VB) usaba la propiedad
> Tag del control para averiguar cuales habilitaba. es decir, quiero
> hacerlo
> asi:
>
> & control.Tag.ToString = = 1
>
> ...pero no me funciona. Como puedo hacerlo? es posible???
>
> Suerte y muchas gracias.
> Juan Suarez
>




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