none
Ayuda - No me aparece el control dentro del panel RRS feed

  • Pregunta

  • Hola amigos,

    Tengo un panel que dentro de el incrusto formularios. Por alguna razón, no me aparecen. No se que estoy haciendo mal...

      Dim FormInicio As Frm_Main
      Dim FormAjustes As Frm_Ajustes
    
     Public Sub New()
            InitializeComponent()
            FormInicio = New Frm_Main
            FormAjustes = New Frm_Ajustes
        End Sub
    
    
        Private Sub FrmInicio_Load(sender As Object, e As EventArgs) Handles Me.Load
            Try
                FormInicio .TopLevel = False
                Panel.Controls.Add(FormInicio )
                Panel.BringToFront()
                FormInicio .Show()
            Catch ex As Exception
                Err.Clear()
            End Try
        End Sub

    Bien, hasta aquí todo funciona claro, pero cuando intento cargar un nuevo formulario dentro del panel, no me aparece nada. Inserto dentro del botón el siguiente código:

    Try
                FormAjustes.TopLevel = False
                Panel.Controls.Add(FormAjustes)
                Panel.BringToFront()
                Frm_Ajustes.Show()
            Catch ex As Exception
                Err.Clear()
            End Try

    ¿Qué estoy haciendo mal?

    jueves, 21 de abril de 2016 21:32

Respuestas

Todas las respuestas

  • Hola,

    Primeramente recomendarte que no le pongas a tu panel el nombre "Panel", ya que se confunde con el control Panel del Windows Forms.

    Con lo referente a tu pregunta :

            Try
                FormAjustes.TopLevel = False
                Panel.Controls.Add(FormAjustes)
                Panel.BringToFront()
                Frm_Ajustes.Show()
            Catch ex As Exception
                Err.Clear()
            End Try

    Estás mandando a abrir el Formulario original y no el que crear en el New()

           Try
                FormAjustes.TopLevel = False
                Panel.Controls.Add(FormAjustes)
                Panel.BringToFront()
                FormAjustes.Show()
            Catch ex As Exception
                MessageBox.Show("Se produjo un error : " & ex.Message)
            End Try

    Además deberías usar el Try-Catch para saber si te produjo algún error y no deje de funcionar la aplicación, ya que esa es su finalidad.

    Finalmente, has probado usar formularios MDI ?, digo por si no lo conoces.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    jueves, 21 de abril de 2016 22:37
  • Hola, gracias por responder.

    He puesto el código pero no me salta ninguna ventana. Anteriormente cargo un formulario y cuando cargo el otro formulario quiero limpiar sin que se vea el otro.

    Es decir, FORM1 es abre dentro del panel al hacer el LOAD en la aplicacion. Bien, cuando pulso un boton, quiero abrir otro form dentro de ese panel, pero que no se vean los otros formularios abiertos.

    viernes, 22 de abril de 2016 8:29
  • Ya lo he resuelto.

    Gracias

    • Marcado como respuesta Symantecc viernes, 22 de abril de 2016 9:34
    viernes, 22 de abril de 2016 9:34
  • Hola:
    Muchas gracias de "PARTE" de Joel por ser tan "EXPLICITO"
    Yo creo que se merece algo mas de explicacion.

    Un saludo desde Bilbo
    Carlos

    viernes, 22 de abril de 2016 11:27