Principales respuestas
cerrar un formulario desde otro formulario

Pregunta
-
Respuestas
-
Vale, Dim F2 As New Form2 eso significar tener una instancia de Form2 por lo que la aplicacion no te cierra el formulario.por otro lado indicarte que como la declaracion de F2 la tienes a nivel de un metodo,para cerrarlo podrias hacer lo siguiente:for each frm as Form in Application.OpenFormsif frm.Name="F2" thenfrm.close()exit forend ifnext
Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
Si la respuesta te ha sido util Votala.
Mi Blog: Jtorrecilla
Enlace a Faq de Winforms en Ingles Muy bueno- Marcado como respuesta davsol sábado, 6 de marzo de 2010 15:24
-
Claro, sustitye lo que tenias tu por lo que te he puesto.Tendrias otra forma de hacerlo que seria declarar tu F2 (form2) a nivel de clase o de aplicacion y podrias hacer F2.Close() desde donde quieras....
Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
Si la respuesta te ha sido util Votala.
Mi Blog: Jtorrecilla
Enlace a Faq de Winforms en Ingles Muy bueno- Marcado como respuesta davsol sábado, 6 de marzo de 2010 15:24
Todas las respuestas
-
Del formulario que tienes abierto, invoca al método Form.Close[1]:
http://msdn.microsoft.com/es-es/library/system.windows.forms.form.close.aspx
Saludos.
Fernando Gómez
www.fermasmas.com -
-
No lo he conseguido,no me he enterado muy bien con tu ejemplo,se supone que al dar al boton debería cerrar otro formulario distinto a donde esta alojado el boton pero no me deja,o no lo he escrito bien:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Form.Close[1]:
End Sub -
Evidentemente no está bien. Primero, necesitas la referencia a la otra
ventana (i.e. cuando haces Dim frm as new MiForm). Segundo, ya que lo
tengas invocas al método Close de esa instancia. Quedaría algo así:
Private sub Button1_Click(byval sender as object, byval e as EventArgs)
handles Button1.Click
frm.Close()
End sub
Revisa este artículo para mayor información:
http://msdn.microsoft.com/es-es/library/aa289529.aspx
Saludos.
Fernando Gómez
www.fermasmas.com -
-
Hola de nuevo.
¿puedes poner el código que estás utilizando? En particular, ¿podrías
poner el código donde instancias el form que quieres cerrar?
Saludos.
Fernando Gómez
www.fermasmas.com -
en el evento del boton debes poner eso que te menciona Fernando
form2.close()
o si deseas ocultar solo ponle
form2.hide()
esto lo probe en codigo vb.net vs2008 y funciona...
a estos formularios los cierro desde un formulario form1......
Pablo González Desarrollo de Sistemas. Ecuasoftware.Net Ecuador. -
Hola la forma que tienes para cerrar el formulario es la siguiente:- Si lo haces desde el propio formulario tienes que poner me.close()- Si lo tienes que hacer desde otro formulario:- Si tienes una instancia: nombredelaInstancia.Close()- Si no lo tienes instanciado: nombredelFormulario.Close()Un saludo.
Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
Si la respuesta te ha sido util Votala.
Mi Blog: Jtorrecilla
Enlace a Faq de Winforms en Ingles Muy bueno -
Este codigo pertenece a un boton de guardado de un formulario, el 5, he probado a meter el codigo que me habeis dicho entre todos para cerrar el formulario 2, y aun asi no se cierra
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Validate()
Me.PartidospoliticosBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.PoliticaDataSet)
MsgBox("El partido se agregó correctamente")
Form2.Close()
End Sub -
Hola, el formulario 2 lo tienes instanciado desde algun sitio, o para abrirlo unicamente pusiste form2.show??
Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
Si la respuesta te ha sido util Votala.
Mi Blog: Jtorrecilla
Enlace a Faq de Winforms en Ingles Muy bueno -
-
Podrias poner el trozo de codigo donde haces el show?
Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
Si la respuesta te ha sido util Votala.
Mi Blog: Jtorrecilla
Enlace a Faq de Winforms en Ingles Muy bueno -
te refieres al formulario desde el que lanzo el formulario 2 no,si es este:
Public Class Politicator
Private Sub InsertarPartidoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InsertarPartidoToolStripMenuItem.Click
Dim F2 As New Form2
F2.Show()
End Sub
Private Sub Politicator_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub InsertarPolíticosToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InsertarPolíticosToolStripMenuItem.Click
Dim F3 As New Form3
F3.Show()
End Sub
Private Sub InsertarPropuestasToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InsertarPropuestasToolStripMenuItem.Click
Dim F4 As New Form4
F4.Show()
End Sub
Private Sub AcercaDeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
End Sub
Private Sub AcercaDeToolStripMenuItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AcercaDeToolStripMenuItem.Click
AboutBox1.Show()
End Sub
Private Sub SalirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SalirToolStripMenuItem.Click
Dim D1 As New Dialog1
Dialog1.Show()
End Sub
Private Sub Navigatator3000ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Navigatator3000ToolStripMenuItem.Click
Dim F15 As New Form15
Form15.Show()
End Sub
Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim f2 As New Form2
Form2.Close()
End Sub
End Class
muchas gracias por estar ayudandome -
Vale, Dim F2 As New Form2 eso significar tener una instancia de Form2 por lo que la aplicacion no te cierra el formulario.por otro lado indicarte que como la declaracion de F2 la tienes a nivel de un metodo,para cerrarlo podrias hacer lo siguiente:for each frm as Form in Application.OpenFormsif frm.Name="F2" thenfrm.close()exit forend ifnext
Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
Si la respuesta te ha sido util Votala.
Mi Blog: Jtorrecilla
Enlace a Faq de Winforms en Ingles Muy bueno- Marcado como respuesta davsol sábado, 6 de marzo de 2010 15:24
-
-
Claro, sustitye lo que tenias tu por lo que te he puesto.Tendrias otra forma de hacerlo que seria declarar tu F2 (form2) a nivel de clase o de aplicacion y podrias hacer F2.Close() desde donde quieras....
Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
Si la respuesta te ha sido util Votala.
Mi Blog: Jtorrecilla
Enlace a Faq de Winforms en Ingles Muy bueno- Marcado como respuesta davsol sábado, 6 de marzo de 2010 15:24
-
-
Puedes tener un objeto de tipo modulo(boton derecho sobre tu proyecto, agregar, modulo) y dentro de ese objeto, declaras tu formulario de la siguiente manera:public F2 as new Form2y ya podras cerrar tu formulario desde donde quieras.
Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
Si la respuesta te ha sido util Votala.
Mi Blog: Jtorrecilla
Enlace a Faq de Winforms en Ingles Muy bueno -
Bueno,muchas gracias por todo,al final lo he conseguido con esto que me dijiste por que lo de los modulos lo veo complicado:
for each frm as Form in Application.OpenFormsif frm.Name="F2" thenfrm.close()exit forend if
next
A partir de ahora declarare esto para abrir cualquier formulario