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 = "";
>
> }
>
> }
>
> }
>
> }
>
>


 

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 = "";
>
> }
>
> }
>
> }
>
> }
>
>








Preguntas similares