locked
Cargar un formulario dentro de un contenedor RRS feed

  • Pregunta

  • Buenas , tengo este código que lo que hace es un formulario para CREAR ARTICULOS NUEVO lo muestra dentro de un contenedor para no tener que repetir el formulario y lo hago de la siguiente manera , tengo un DATAGRIDVIEW y al hacer doble click en el item seleccionado hago esto

        private void dgvArticulosBuscar_DoubleClick(object sender, EventArgs e)
            {
                DataGridViewRow row = this.dgvArticulosBuscar.CurrentRow;
                if (row != null)
                {
                    int id = Convert.ToInt32(row.Cells["id"].Value);
                    int proveedor = Convert.ToInt32(row.Cells["idProveedor"].Value);
                    int tiendaArticulo = Convert.ToInt32(row.Cells["tienda"].Value);
    
                    frmArticuloNuevo myForm = new frmArticuloNuevo(id, proveedor, tiendaArticulo);
                    myForm.TopLevel = false;
                    myForm.AutoScroll = true;
                    this.panelContenedor.Controls.Add(myForm);
                    myForm.Show();
    
                }
            }

    Esto lo que hace es mostrar el contenido del FORM dentro del contenedor , pues resulta que la primera vez siempre me lo abre en blanco tal como esta imagen

    En canvio la segunda vez y posteriores siempre lo hace bien y el código como veis es el mismo

    • Editado golfgti6 jueves, 9 de marzo de 2017 19:32
    martes, 27 de septiembre de 2016 17:01

Respuestas

  • hola

    no se usan forms para mostrar en un contenedor, deberias usar User Control

    los user control son similares al form solo que sin borde, entonces puedes instanciar y ubicar el control dentro de la coleccion Controls

    UserControl1 uc = new UserControl();
    Panel1.Controls.Add(uc);

    asi de facil puedes agregar user control a paneles

    si puedes evita usar forms

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 27 de septiembre de 2016 18:07