Autor Tema: manera correcta de cerrar form  (Leído 1667 veces)

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

aedEric

  • Megabyte
  • ***
  • Mensajes: 211
  • Reputación: +20/-0
    • Ver Perfil
manera correcta de cerrar form
« en: Mayo 27, 2014, 01:44:42 am »
hola buenas noches estoy empezando a utilizar net 2012, ya he logrado hacer consultas, he realizado ABM con firebird, sólo lo habia hecho desde un unico form donde estuve testeando, ahora al agregar un nuevo form(2) y agrgar contoles como DTP, Cbo, Txt y al seleccionar una fecha en el Dtp al cargar el Cbo con items y al agrgar datos a la caja de texto, me percate que al cerrar el form2 con
Código: [Seleccionar]
me.close() y volverlo a mostrar me vuelve a mostrar el item seleccionado anteriormente en el Cbo el Dtp muestra la fecha seleccionada anteriormente y la caja de texto muestra el dato introducido, es como si nunca se ubiera cerrado el form,

mi pregunta es normal esto?
tengo que limpiar los controles a iniciar el form?
o que estoy haciendo mal ?

aqui selecciono una fecha introduzco un dato en el textbox y selecciono un item del combo


aqui cierro el form2


aqui muestro el form2 de nuevo y veo que los datos se muestran como si no hubiera cerrado jamas el form
Código: [Seleccionar]
Form2.ShowDialog()

de hecho el combo me duplica los items no se limpia al cerrar el form


de antemano agradecere sus opiniones y sugerencias muchas gracias
« última modificación: Mayo 27, 2014, 01:47:19 am por aedEric »
No he fracasado. He encontrado 10000 soluciones que no funcionan.

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:manera correcta de cerrar form
« Respuesta #1 en: Mayo 27, 2014, 10:11:52 am »
En realidad estas utilizando la misma instancia del formulario, por eso se muestran las cosas tal como están (es para que lo puedas usar "después" de que se cerro)

Lo que deberías hacer es crear una instancia nueva del form que llamas y cuando se cierre destruirlo.
Algo así

Código: (vbnet) [Seleccionar]
Private Sub Button1_click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    Dim form as Form2
    form = New Form2() ' Esto lo inicializa
    form.ShowDialog() ' Aca seguro se carga el "Load", creo...

    ' Aca usarias el form. para obtener lo que haya puesto el usuario

    form.Dispose() ' Esto lo "borra" de la memoria una vez que se cerro
End Sub

Y así siempre tendrás una nueva instancia y siempre se mostrará el form como nuevo

aedEric

  • Megabyte
  • ***
  • Mensajes: 211
  • Reputación: +20/-0
    • Ver Perfil
Re:manera correcta de cerrar form
« Respuesta #2 en: Mayo 27, 2014, 11:27:20 am »
 ;D hola Raul muchas gracias saludos

tema solucionado
No he fracasado. He encontrado 10000 soluciones que no funcionan.