gambafeliz   02-06-2021, 22:19
#1
Hola

Voy a intentar explicar mi problema que para mi no es muy fácil explicarlo.

Tengo varios formulario digamos:

frmFormulario1
frmFormulario2
frmFormulario3

Y necesito detectar cual esta en un panel cada vez. Esto lo hago desde un frmFormularioX Yo hago esta pregunta al código:

If String.Left(Object.Class(FMain.pnlContenedor.Children[0]).Name, 3) = "frm" Then ' esto lo hago por que todos mis formulario empiezan por frm pero no es muy seguro, lo se.

Y despues hago:
Código:
Dim formulario As Form = FMain.pnlContenedor.Children[0] ' digamos que pasamos frmFormulario1
         formulario.Close ' lo correcto sería frmFormulario1.Close
         formulario.Reparent(FMain.pnlContenedor, 0, 0) ' y justo aquí dice siempre - objeto inválido en frmFormularioX -
         formulario.Raise

Como resuelvo lo del objeto inválido, me dan una guía.

Gracías.

Nota he visto que si uso:

Esto si funciona
Código:
frmFormulario1.Close
      frmFormulario1.Reparent(FMain.pnlContenedor, 0, 0)
      frmFormulario1.Raise

Esto no por que cierro el formulario y quiero reutilizarlo pero es imposible
Código:
formulario.Close
      formulario.Reparent(FMain.pnlContenedor, 0, 0)
      formulario.Raise

Dejo claro que es una ampliación de la explicación anterior.
Última modificación: 02-06-2021, 22:35 por gambafeliz.
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.