Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Eleкtro en 28 Diciembre 2012, 12:01 pm



Título: [SOLUCIONADO] ¿Como eliminar un NotifyIcon al cerrar la APP?
Publicado por: Eleкtro en 28 Diciembre 2012, 12:01 pm
Necesito terminar la ejecución de mi APP con un "End",
Todos sabemos que si matamos una aplicación, el icono del SystemTray se queda en memoria, es decir, seguirá visible...
Pero por otro lado imagino que se debe poder eliminar el icono del systray en tiempo de ejecución, antes de matar indebídamente la APP, para que eso no suceda.

¿Como puedo eliminar el NotifyIcon?

Código
  1.    ' Close
  2.    Private Sub Form_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
  3.        Worker.Dispose() ' Liberar los recursos del BackgroundWorker
  4.  
  5.        ' Eliminar la visibilidad del SysTrayMenu antes de matar la APP, para que no se quede visible en el SystemTray...
  6.        SystrayMenu.Visible = False
  7.        SystrayMenu.Dispose()
  8.  
  9.        End ' Matar todo lo relacionado con la APP
  10.    End Sub

EDITO: Ups, con las prisas no me dí cuenta, había confundido el nombre del menú con otro menú que tengo en la APP,
Tema solucionado XD


Título: Re: [SOLUCIONADO] ¿Como eliminar un NotifyIcon al cerrar la APP?
Publicado por: spiritdead en 28 Diciembre 2012, 12:49 pm
Necesito terminar la ejecución de mi APP con un "End",
Todos sabemos que si matamos una aplicación, el icono del SystemTray se queda en memoria, es decir, seguirá visible...
Pero por otro lado imagino que se debe poder eliminar el icono del systray en tiempo de ejecución, antes de matar indebídamente la APP, para que eso no suceda.

¿Como puedo eliminar el NotifyIcon?

Código
  1.    ' Close
  2.    Private Sub Form_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
  3.        Worker.Dispose() ' Liberar los recursos del BackgroundWorker
  4.  
  5.        ' Eliminar la visibilidad del SysTrayMenu antes de matar la APP, para que no se quede visible en el SystemTray...
  6.        SystrayMenu.Visible = False
  7.        SystrayMenu.Dispose()
  8.  
  9.        End ' Matar todo lo relacionado con la APP
  10.    End Sub

EDITO: Ups, con las prisas no me dí cuenta, había confundido el nombre del menú con otro menú que tengo en la APP,
Tema solucionado XD


intenta usar application.exit
utilizar end es directamente cerrar bruscamente la aplicacion ( no pasa por form.closing,etc)

;) cerrar correctamente el soft evita errores