• Jueves 25 de Abril de 2024, 13:19

Autor Tema:  Como Cerrar Un Formulario  (Leído 24497 veces)

Vortice

  • Miembro MUY activo
  • ***
  • Mensajes: 135
    • Ver Perfil
Como Cerrar Un Formulario
« en: Martes 11 de Septiembre de 2007, 22:04 »
0
Camaradas una vez mas yo....saludos a todos

Tengo mi aplicacion y tiene varios formularios unos llaman a otros y viseversa, lo q yo quiero hacer es q cuando llame a un formulario el anterior se cierre por completo, de la siguiente manera llamo a los formularios

dim formulario1 as new form1
formulario1.show ()


Pero al hacer esto el formulario anterior queda abierto.
Tambien trate con Enabled = False, pero igual queda abeirto, no lo muestra pero queda abierto igual, ojala y puedan ayudarme.....saludos y gracias...
Solo el Bueno muere joven...

cuajoa

  • Miembro activo
  • **
  • Mensajes: 81
    • Ver Perfil
    • http://www.daskate.com.ar/cuajoa
Re: Como Cerrar Un Formulario
« Respuesta #1 en: Miércoles 12 de Septiembre de 2007, 14:21 »
0
form1.close() o si no necesitas ningun dato mas de ese formulario le podes poner el dispose() que te lo cierra y lo quita del la memoria.


saludos
[size=109]Çu@Jö@[/size]
   

Scherzo

  • Miembro activo
  • **
  • Mensajes: 64
    • Ver Perfil
    • http://www.mma-spain.com
Re: Como Cerrar Un Formulario
« Respuesta #2 en: Miércoles 12 de Septiembre de 2007, 15:24 »
0
Lo que pasa es que si pones un .Close() al formulario 1 y lo cierras. como el formulario 2 es un objeto creado dentro del ámbito de vida del formulario 1, al cerrar el 1, el objeto 2 se destruiría también.

Entiendo que para poder hacer eso deberías tener una clase base o un punto de código inicial que sea el que instancie tanto el formulario 1 como el formulario 2, de tal forma que el padre (el "owner") de ambos formulario fuera esta clase base y no haya una dependencia directa padre/hijo entre los formularios como tal, para que puedas destruirlos sin problemas de dependencias.

Cuando haces un .Show() de un formulario puedes indicar qué objeto va a hacer de padre del formulario que vas a abrir, por lo que aunque lo abras desde el código que hay en el formulario 1, podrías asignar como padre esa clase base (que ha de implementar el interfaz IWin32Window para que se pueda hacer).

Saludos

nicolaspingitzer21

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Como Cerrar Un Formulario
« Respuesta #3 en: Martes 18 de Septiembre de 2007, 05:03 »
0
hola te la hago corta: al formulario que vas a llamara llamalo como MODAL paso a detallarte:



me.form1.show modal


esto hace que el que esta atras o sea el que llama se cierra automaticamete dejando solo como foco el frm1.


espero haber aclarado tus dudad mas adelante cunado tenga tiempo te paso el codigo bie escrito.
saludos

nicolaspingitzer21

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Como Cerrar Un Formulario
« Respuesta #4 en: Martes 18 de Septiembre de 2007, 05:05 »
0
hola te la hago corta: al formulario que vas a llamara llamalo como Dialog paso a detallarte:



me.form1.show dialog()


esto hace que el que esta atras o sea el que llama se cierra automaticamete dejando solo como foco el frm1.


espero haber aclarado tus dudad mas adelante cunado tenga tiempo te paso el codigo bie escrito.
saludos
sorry era dialog.

fORU-

  • Miembro MUY activo
  • ***
  • Mensajes: 225
  • Nacionalidad: mo
    • Ver Perfil
Re: Como Cerrar Un Formulario
« Respuesta #5 en: Miércoles 19 de Septiembre de 2007, 04:38 »
0
hola que tal, compañero cada que vaya hacer un programa haga sus casos de estudio, esto le servira mucho a la hora de querer aparecer y desaparecer componentes ( yo elabore un cajero [ATM] y ocupe de un caso de estudio para poder modificar algunas cosas).... Se que esto no tiene nada que ver con el tema que ha puesto pero es de gran ayuda para cuando se quieren hacer modificaciones o detectar algun error!!!!!!


P.D> para quitar u ocultar ventanas o formas debe ser sencillo solo se tiene que saber donde esta cada fucion (para esto sirve el caso de estudio).
atte:fORU-

abel_cuentas_b

  • Miembro activo
  • **
  • Mensajes: 39
    • Ver Perfil
Re: Como Cerrar Un Formulario
« Respuesta #6 en: Miércoles 19 de Septiembre de 2007, 20:02 »
0
:unsure: antes se utilizaba el evednto hide

o sea:

form1.hide

y listo

Vortice

  • Miembro MUY activo
  • ***
  • Mensajes: 135
    • Ver Perfil
Re: Como Cerrar Un Formulario
« Respuesta #7 en: Jueves 20 de Septiembre de 2007, 20:19 »
0
No funciona camaradas, lo siento por mi, jejeje pero seguire tratando.

el caso del form1.ShowDialog() no da resultado

el caso del .hide tampoco

el caso del .close tampoco

en todos los casos, resulta pero igual queda abierto, por ejemplo YO para buscar abro otro formulario despues de otro pero una vez q busco vuelvo al mismo formulario anterior y cada vez q hago esto lo abre y lo desaparece no lo cierra es decir, si lo hago 14 veces abajo en la barra de estado me aparecen 14 form_busqueda y 14 form_solicitud, me entienden, mi idea es q si hago esto 14 veces solo me refleje 2 veces en la barra de estado (abajo, barra azul en donde aparecen los programas abiertos), creo q es la barra de estado......

en el caso del .hide me da fallo "la referencia a un miembro no compartido requiere una referencia de objeto)

sin mas se despide un Camarada de aca de Chile, chao y gracias.....por la paciencia, jejejeje.
Solo el Bueno muere joven...

Nebire

  • Miembro HIPER activo
  • ****
  • Mensajes: 670
    • Ver Perfil
Re: Como Cerrar Un Formulario
« Respuesta #8 en: Jueves 20 de Septiembre de 2007, 21:18 »
0
Vamos a ver, cuando vuelves a ese formulario ejecuta esto desde un botón

MsgBox(CStr(My.Application.OpenForms.Count))

te dirá cuantos formularios hay abiertos...

pero es falso que tengas varios formularios, según dices aquí
Citar
dim formulario1 as new form1
formulario1.show ()
tienes un formulario llamado form1 y x instancias de form1 llamados formulario1. Si es así, nunca podrás cerrar form1 y que queden abierto sus instancias. Es decir puedes ejecutar ese código cuantas veces quieras y cerrarlos, pero si cierra el original form1 todas las instancias creadas también se cerrarán.

Si no entiendes lo que son referecnias a objetos léete algo aobre ello...
«Ma non troppo»
----> ModoVacaciones = False<----

alexa99

  • Nuevo Miembro
  • *
  • Mensajes: 21
    • Ver Perfil
Re: Como Cerrar Un Formulario
« Respuesta #9 en: Viernes 21 de Septiembre de 2007, 19:52 »
0
am mira puedes poner un close antes de abrir el otro formulario dentro del sub am y asi cuando lo llames te cieraa la ventana y enseguida te avienta laventana q kieres abrir

la voz dormida azaak!!

entilete

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Como Cerrar Un Formulario
« Respuesta #10 en: Lunes 24 de Septiembre de 2007, 03:30 »
0
en vb 6.0 seria:
formulario1.close

y en vb .net 2005

formulario1.dispose

TonyLM

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Como Cerrar Un Formulario
« Respuesta #11 en: Martes 26 de Agosto de 2008, 20:29 »
0
Buenas.. Saludos a los del Foro

Tengo una pequña solucion a como cerrar un formulario para abrir otro:
1) En un modulo realice 2 procedimientos uno para abrir Llamado "Public Sub Main()" y otro para Abrir el formulario Menu llamado AbrirFormularioMenu, les dejo el codigo para que lo analicen
2) es importante que en las propiedades del Proyecto coloquen como formulario inicial el procedimiento Sub Main.
    - Esto se hace haciendo clic derecho al proyecto con el que se esta trabajado, esto es en Explorador de Soluciones.
    - En la pestaña aplicacion Selecciona como objeto inicial Sub Main.
    - Con esto deberias solucionar el problema..
 Dejo Mi correo para cualquier pregunta o sugerencia tonylmedina@hotmail.com

Este es el Modulo
----------------------------------------------------------------------------------------------------
    Module ModuleAbrirSistema
        Public Sub Main()
           Dim f As Form
           f = New Form1
           f.ShowDialog()
        End Sub

        Public Sub AbrirFormularioMenu(ByVal Autenticacion As Boolean)
           If Autenticacion = True Then
               Dim f As Form
               f = New Form2
               f.ShowDialog()
           End If
        End Sub
    End Module
----------------------------------------------------------------------------------------------------

Ahora el formulario que se abre primero se llama Form1 y tiene el siguiente codigo
----------------------------------------------------------------------------------------------------
Public Class Form1
    Private Sub BtnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCancelar.Click
        Me.Close()
    End Sub

    Private Sub BtnAceptar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAceptar.Click
            If textUsuario="Nombre_Usuario" And textPass="Password" Then
                 Me.Dispose()
                 'Este es un procedimento que esta en el codigo del Modulo anterior
                 AbrirFormularioMenu(True)
            Else
                MsgBox("Usuario o Contraseña Incorrecta")
            End If
    End Sub
End Class
----------------------------------------------------------------------------------------------------