Ver Mensaje Individual
  #9 (permalink)  
Antiguo 18/01/2012, 11:45
ricardo_eslokehay
 
Fecha de Ingreso: marzo-2011
Mensajes: 37
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: mdi en visual.net

Cita:
Iniciado por chcma Ver Mensaje
Buenos así de pronto, no se me ocurre otra cosa que, como lo tienes cargado en un panel, recuperar el form que este en el panel, y cerrarlo.

Prueba con eso, y nos cuentas:
Te paso el ejemplo en C#:

((Form)miControlPanel.Controls[0]).Close();

En VB, creo que sería algo como:

DirectCast(miControlPanel.Controls(0), Form).Close()
buenas si que me ha servido, pero la instruccion sola me daba error si no habia ningun formulario abierto, lo he solucionado de la siguiente manera:

cree un contador y en cada evento click del boton lo puse asi contadorformulario=1 y la funcion la cree de la siguiente manera:

Private Sub CloseAllFomr()

If contaformulario >= 1 Then

DirectCast(Panel1.Controls(0), Form).Close()
contaformulario = 0

End If

End Sub

que os parece ¿estaria correcto de esta forma o hay alguna otra que sea mas correcto?
Funciona perfectamente, pero claro no es muy sofisticada la funcion.
Un saludo.