[Resuelto] visual basic.net abrir un formulario en un panel

Iniciado por otakuzz, 12 Septiembre 2014, 06:00 AM

0 Miembros y 1 Visitante están viendo este tema.

otakuzz

lo uso con forms comunes, e aquí el código completo del form:



Public Class Form1

    Private Sub Btn_1_Click(sender As Object, e As EventArgs) Handles Btn_1.Click
        frmCaja.TopLevel = False
        frmCaja.FormBorderStyle = Windows.Forms.FormBorderStyle.None
        frmCaja.Dock = DockStyle.Fill
        P_Main.Controls.Add(frmCaja)
        frmCaja.Show()
    End Sub

    Private Sub Btn_2_Click(sender As Object, e As EventArgs) Handles Btn_2.Click
        frmhijo2.TopLevel = False
        frmhijo2.FormBorderStyle = Windows.Forms.FormBorderStyle.None
        frmhijo2.Dock = DockStyle.Fill
        P_Main.Controls.Add(frmCaja)
        frmhijo2.Show()
    End Sub
End Class


XresH

Adapte el codigo a un proyecto que hice yo y si le saco en ambos eventos del clic boton:

Código (vbnet) [Seleccionar]
frmCaja.TopLevel = False


Me abre los dos correctamente, si le dejo esa linea no los abre(lo mismo que tepasa a vos), lo que pasa es que si estas abriendo el formulario con ".Show" no es de manera modal, no necesitas especificar el TopLevel en false.

Fijate si te sirve sacandole esa linea.

Saludos.
[ - Si eres programador y quieres que tus proyectos esten en mi blog(con o sin source), consúltame! - ]
Entra A Mi Blog De Programación | | Dudas en este post :| | >>Clic para ir al Post<<

otakuzz

no me funciono, encontre un codigo en c# e aqui el link:

https://mega.co.nz/#!L5kkmShB!_FfVXBFQ-qd8Bzxjhy6rLl6sBQgLNClJnkJ5r2vtLGs

quiero ver si lo puedo pasar a basic, ¿crees que se pueda?

otakuzz

#13
Amigo ya lo resolvi te adjunto el codigo:


Public Class Form1

   Private Sub Btn_1_Click(sender As Object, e As EventArgs) Handles Btn_1.Click
       If Me.P_Main.Controls.Count > 0 Then
           Me.P_Main.Controls.RemoveAt(0)
       End If
       Dim hijo1 As New frmCaja()
       hijo1.TopLevel = False
       hijo1.FormBorderStyle = FormBorderStyle.None
       hijo1.Dock = DockStyle.Fill
       Me.P_Main.Controls.Add(hijo1)
       Me.P_Main.Tag = hijo1
       hijo1.Show()
   End Sub

   Private Sub Btn_2_Click(sender As Object, e As EventArgs) Handles Btn_2.Click
       If Me.P_Main.Controls.Count > 0 Then
           Me.P_Main.Controls.RemoveAt(0)
       End If
       Dim hijo2 As New frmhijo2()
       hijo2.TopLevel = False
       hijo2.FormBorderStyle = FormBorderStyle.None
       hijo2.Dock = DockStyle.Fill
       Me.P_Main.Controls.Add(hijo2)
       Me.P_Main.Tag = hijo2
       hijo2.Show()
   End Sub
End Class



Gracias por tu ayuda y me parecio interesante tu Blog, terminando mi proyecto me gustaria que lo publicaras

XresH

Que bueno que hayas solucionado, 2 personas del foro ya han compartido material para mi blog, con gusto recibiria el tuyo.

Te pido que añadas al titulo del tema un prefijo "Solucionado" o hagas clic sobre el icono de "Resuelto", sino queda abierto aun como interrogante.

Saludos.
[ - Si eres programador y quieres que tus proyectos esten en mi blog(con o sin source), consúltame! - ]
Entra A Mi Blog De Programación | | Dudas en este post :| | >>Clic para ir al Post<<