• Martes 21 de Abril de 2026, 06:56

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - megapunto

Páginas: [1]
1
C# / GENERAR INSTANCIA A PARTIR DE TEXTO DE UN COMBOBOX
« en: Domingo 13 de Marzo de 2011, 09:14 »
Saludos a todos!!!!

Tengo un botón (button5) que está en el formulario principal de mi aplicación, al presionarlo recorre todos los controles del formulario y me dice cuantos controles hay de los tipos TextBox, PictureBox y Button.  Lo hice así a nivel de ejemplo, pero realmente me interesa saber que controles hay para usar eso para algo más profundo.


       private void button5_Click(object sender, EventArgs e)
        {          
 
            int vBotones = 0, vTextBox = 0, vPictureBox = 0;
            foreach (Control v_Control in this.Controls)
            {
                if (v_Control is Button)
                {
                    v_Control.Text = vBotones.ToString();
                    vBotones += 1;
                }
                else if (v_Control is TextBox)
                    vTextBox += 1;
                else if (v_Control is PictureBox)
                    vPictureBox += 1;
            }

        }

Lo anterior me funciona sin problemas, sin embargo, lo que deseo es tener en el formulario un ComboBox con los nombres de todos los formularios de mi aplicación.  Por ejemplo frmVentas, frmClientes, frmPedidos, etc.  y luego en la linea del código anterior:

            foreach (Control v_Control in this.Controls)

yo poder cambiar this por el nombre del formulario que yo seleccione en el ComboBox y que me de la información de los controles del formulario que seleccione en el ComboBox.

Si yo creo una instancia de cada formulario, por ejemplo:

frmClientes instClientes = new frmClientes();

y luego en la linea pongo lo siguiente:

            foreach (Control v_Control in instClienes.Controls)

me trabaja bien y me da los controles del formulario frmClientes, lo que yo quería era ver si existía una forma de solo tener la linea:

            foreach (Control v_Control in XXXX.Controls)

y de alguna forma poner en XXXX la instancia del formulario que seleccione en el ComboBox.  Es decir, convertir el texto del ComboBox en una instancia válida para pasarla a una variable XXXX.

Espero no haber sido muy complicada mi explicación.  He probado con muchos códigos, pero no consigo lo que deseo, aunque hace años cuando programaba en visual basic 6 si lo logré.

Espero que alguien pueda ayudarme.

Páginas: [1]