2010-11-25 18 views

Respuesta

22

Solo Close() todos los formularios activos/existentes y la aplicación deben salir.

+0

bien. Gracias. 'close()' se asegurará de que la memoria se libere ¿verdad? – ghostdog74

+0

La recolección de basura debe iniciarse y manejar todo. – Mario

+0

El kernel NT se limpiará cuando finalice un proceso, pero con .net, hay muchos procesos .net por proceso NT, así que quién sabe qué sucederá. He visto una gran demora antes de que se liberen recursos en .net. Cuando serían instantáneos con una aplicación nativa, o un .net por proceso nativo. –

20

Application.Exit() hace el truco también: cualquier formulario que tenga aún puede cancelar esto, por ejemplo, si desea presentar un cuadro de diálogo para guardar cambios.

+1

Al usar esto, el evento cerrado no se llama. –

1

En una aplicación de consola, simplemente regrese desde el programa principal, en una UI-Aplicación Cerrar() todos los formularios activos.

La memoria de los objetos administrados será manejada por .NET Framework, no es necesario que se preocupe por esto.

Si utiliza clases que implementen IDisposable (como conexiones de bases de datos, por ejemplo), debe llamar a Dispose() sobre ellas cuando ya no las necesite (forma preferida: a using -Declaración).

Si utiliza dichos recursos globalmente (como los miembros privados en su formulario), su formulario debe implementar el patrón IDisposable para liberar estos recursos en la llamada Cerrar(). Vea this article para más detalles.

-1
me.close() 

Deberías probar esto. Supongo que funcionará.

+1

Esto cierra el * formulario * y no cerrará el programa si hay múltiples formularios abiertos. – cybermonkey

11
Application.Exit 
    End 

funcionará como un encanto El "END" inmediatamente termina la ejecución mientras "Application.Exit" cierra todas las formas y llamadas.

mejores regrads,

0

El siguiente código se utiliza en Visual Basic cuando se pida al usuario salir de la aplicación:

Dim D As String 

D = MsgBox("Are you sure you want to exit?", vbYesNo+vbQuestion,"Thanking You") 

If D = vbYes Then 
Unload Me 
Else 
Exit Sub 
End If 
End 
End Sub 
Cuestiones relacionadas