Obtener el Resto propiedades de un control : System.Windows.Forms.Control

09/06/2006 - 18:59 por Kamus_Acuario | Informe spam
Hola de nuevo : (

Vyacheslav Probe lo que me recomendaste pero me salen los sgtes errores :


Error 2 Argument '1': cannot convert from 'System.Windows.Forms.Control' to
'System.Windows.Forms.ComboBox'

Error 1 The best overloaded method match for
'scireCaja.ScireMantenimiento.Limpiar_controles(System.Windows.Forms.ComboBo
x)' has some invalid arguments


public void Limpiar_controles(System.Windows.Forms.TabPage tp)
{

foreach (System.Windows.Forms.Control octrl in tp.Controls)

{

if (octrl.Tag != null)

{

if (octrl.Tag.ToString() !"")
{

manejarCT(octrl);
//octrl.Text = "";

}

}

}

}


public void ManejarCT(System.Windows.Forms.ComboBox octrl)
{
octrl.SelectedValue=""
}

public void ManejarCT(System.Windows.Forms.Textbox octrl)
{
octrl.Text=""
}






"Vyacheslav Popov" <popov-quitaestetexto-@binslon.com> escribió en el
mensaje news:eTGbtJ1iGHA.960@TK2MSFTNGP05.phx.gbl...

Hola Kamus.

Con un poco de polimorfismo se soluciona todo.

public void Limpiar_controles(System.Windows.Forms.TabPage tp)
{
foreach (System.Windows.Forms.Control octrl in tp.Controls)
Manejar(octrl);
}

Luego el método Manejar lo redefines para cada control:

private void Manejar(TextBox control) {...}
private void Manejar(ComboBox control) {...}
private void Manejar(Button control) {...}
private void Manejar(CheckBox control) {...}

Saludos.

"Kamus_Acuario" <kamus1102@hotmail.com> escribió en el mensaje
news:%23I9PSmxiGHA.1276@TK2MSFTNGP03.phx.gbl...
> Saludos
>
> Tengo un problema, en el codigo que se ve abajo intento limpiar todos


los

> controles contenidos en un contenedor que en este caso es un "tabpage"


el

> tema es que quisiera no solo poder manejar las propiedades "standard" de
> cada control sino que me gustaria manejar las propiedades especificas de
> cada control ; por ejemplo si paso por un control combobox PODER setear
> su
> valuemember y su displaymember o si paso por un checkbox setear las
> propiedades unicas del checkbox.
>
> en visual basic podia hacer esto con un objeto de type OBJECT
>
> Gracias.
>
> // CODIGO C#
>
> public void Limpiar_controles(System.Windows.Forms.TabPage tp)
>
> {
>
> foreach (System.Windows.Forms.Control octrl in


tp.Controls)

>
> {
>
> if (octrl.Tag != null)
>
> {
>
> if (octrl.Tag.ToString() !> > "")
>
> {
>
> octrl.Text = "";
>
> }
>
> }
>
> }
>
> }
>
>


Preguntas similare

Leer las respuestas

#1 Harvey Triana
12/06/2006 - 17:58 | Informe spam
Este funciona ...
foreach (object ctl in this.Controls)
{
if(ctl.GetType().ToString()=="System.Windows.Forms.TextBox")
((TextBox)ctl).Text = "";
}

<Harvey Triana />
PS Respecto a tu pregunta inicial Kamus

"Kamus_Acuario" escribió en el mensaje
news:%23CzB%23Z%
Hola de nuevo : (

Vyacheslav Probe lo que me recomendaste pero me salen los sgtes errores :


Error 2 Argument '1': cannot convert from 'System.Windows.Forms.Control'
to
'System.Windows.Forms.ComboBox'

Error 1 The best overloaded method match for
'scireCaja.ScireMantenimiento.Limpiar_controles(System.Windows.Forms.ComboBo
x)' has some invalid arguments


public void Limpiar_controles(System.Windows.Forms.TabPage tp)
{

foreach (System.Windows.Forms.Control octrl in tp.Controls)

{

if (octrl.Tag != null)

{

if (octrl.Tag.ToString() !> "")
{

manejarCT(octrl);
//octrl.Text = "";

}

}

}

}


public void ManejarCT(System.Windows.Forms.ComboBox octrl)
{
octrl.SelectedValue=""
}

public void ManejarCT(System.Windows.Forms.Textbox octrl)
{
octrl.Text=""
}






"Vyacheslav Popov" escribió en el
mensaje news:
Hola Kamus.

Con un poco de polimorfismo se soluciona todo.

public void Limpiar_controles(System.Windows.Forms.TabPage tp)
{
foreach (System.Windows.Forms.Control octrl in tp.Controls)
Manejar(octrl);
}

Luego el método Manejar lo redefines para cada control:

private void Manejar(TextBox control) {...}
private void Manejar(ComboBox control) {...}
private void Manejar(Button control) {...}
private void Manejar(CheckBox control) {...}

Saludos.

"Kamus_Acuario" escribió en el mensaje
news:%
> Saludos
>
> Tengo un problema, en el codigo que se ve abajo intento limpiar todos


los
> controles contenidos en un contenedor que en este caso es un "tabpage"


el
> tema es que quisiera no solo poder manejar las propiedades "standard"
> de
> cada control sino que me gustaria manejar las propiedades especificas
> de
> cada control ; por ejemplo si paso por un control combobox PODER
> setear
> su
> valuemember y su displaymember o si paso por un checkbox setear las
> propiedades unicas del checkbox.
>
> en visual basic podia hacer esto con un objeto de type OBJECT
>
> Gracias.
>
> // CODIGO C#
>
> public void Limpiar_controles(System.Windows.Forms.TabPage tp)
>
> {
>
> foreach (System.Windows.Forms.Control octrl in


tp.Controls)
>
> {
>
> if (octrl.Tag != null)
>
> {
>
> if (octrl.Tag.ToString()
> !>> > "")
>
> {
>
> octrl.Text = "";
>
> }
>
> }
>
> }
>
> }
>
>








Respuesta Responder a este mensaje
#2 Kamus_Acuario
15/06/2006 - 19:04 | Informe spam
Muchas Gracias
Me ayudo mucho, voy a leer mas sobre OOP en C#

Gracias nuevamente.

"Harvey Triana" escribió en el mensaje
news:
Este funciona ...
foreach (object ctl in this.Controls)
{



if(ctl.GetType().ToString()=="System.Windows.Forms.TextBox")
((TextBox)ctl).Text = "";
}

<Harvey Triana />
PS Respecto a tu pregunta inicial Kamus

"Kamus_Acuario" escribió en el mensaje
news:%23CzB%23Z%
> Hola de nuevo : (
>
> Vyacheslav Probe lo que me recomendaste pero me salen los sgtes errores


:
>
>
> Error 2 Argument '1': cannot convert from 'System.Windows.Forms.Control'
> to
> 'System.Windows.Forms.ComboBox'
>
> Error 1 The best overloaded method match for
>


'scireCaja.ScireMantenimiento.Limpiar_controles(System.Windows.Forms.ComboBo
> x)' has some invalid arguments
>
>
> public void Limpiar_controles(System.Windows.Forms.TabPage tp)
> {
>
> foreach (System.Windows.Forms.Control octrl in


tp.Controls)
>
> {
>
> if (octrl.Tag != null)
>
> {
>
> if (octrl.Tag.ToString() !> > "")
> {
>
> manejarCT(octrl);
> //octrl.Text = "";
>
> }
>
> }
>
> }
>
> }
>
>
> public void ManejarCT(System.Windows.Forms.ComboBox octrl)
> {
> octrl.SelectedValue=""
> }
>
> public void ManejarCT(System.Windows.Forms.Textbox octrl)
> {
> octrl.Text=""
> }
>
>
>
>
>
>
> "Vyacheslav Popov" escribió en el
> mensaje news:
>> Hola Kamus.
>>
>> Con un poco de polimorfismo se soluciona todo.
>>
>> public void Limpiar_controles(System.Windows.Forms.TabPage tp)
>> {
>> foreach (System.Windows.Forms.Control octrl in tp.Controls)
>> Manejar(octrl);
>> }
>>
>> Luego el método Manejar lo redefines para cada control:
>>
>> private void Manejar(TextBox control) {...}
>> private void Manejar(ComboBox control) {...}
>> private void Manejar(Button control) {...}
>> private void Manejar(CheckBox control) {...}
>>
>> Saludos.
>>
>> "Kamus_Acuario" escribió en el mensaje
>> news:%
>> > Saludos
>> >
>> > Tengo un problema, en el codigo que se ve abajo intento limpiar todos
> los
>> > controles contenidos en un contenedor que en este caso es un


"tabpage"
> el
>> > tema es que quisiera no solo poder manejar las propiedades "standard"
>> > de
>> > cada control sino que me gustaria manejar las propiedades especificas
>> > de
>> > cada control ; por ejemplo si paso por un control combobox PODER
>> > setear
>> > su
>> > valuemember y su displaymember o si paso por un checkbox setear las
>> > propiedades unicas del checkbox.
>> >
>> > en visual basic podia hacer esto con un objeto de type OBJECT
>> >
>> > Gracias.
>> >
>> > // CODIGO C#
>> >
>> > public void Limpiar_controles(System.Windows.Forms.TabPage tp)
>> >
>> > {
>> >
>> > foreach (System.Windows.Forms.Control octrl in
> tp.Controls)
>> >
>> > {
>> >
>> > if (octrl.Tag != null)
>> >
>> > {
>> >
>> > if (octrl.Tag.ToString()
>> > !> >> > "")
>> >
>> > {
>> >
>> > octrl.Text "";
>> >
>> > }
>> >
>> > }
>> >
>> > }
>> >
>> > }
>> >
>> >
>>
>>
>
>
>
>


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