2012-06-11 21 views
5

Sadece Sistem Tepsisinden çalışan bir uygulamam var, yalnızca kullanıcının Ballon Tips aracılığıyla bilgi sağlaması amaçlanıyor.Notify Simge Sistem Tepsisi'nde kalır Uygulama Kapat

Küçük bir rahatsızlıktan başka, iyi çalışıyor. Uygulama Görev Yöneticisi kullanılarak kapatıldığında (içerik menüsünü kullanmak yerine), sistem tepsisinde gezinene kadar sistem tepsisinde gezinir, ardından başka bir örnek açıldığında, ilkinin yanında ikinci bir simge görüntülenir.

private void frmMain_FormClosed(object sender, FormClosedEventArgs e) 
{ 
    ntfyIcon.Visible = false; 
    ntfyIcon.Icon = null; 
    ntfyIcon.Visible = false; 
    ntfyIcon.Dispose(); 
} 

Bu has been reported on Microsoft Connect ve görünüşe göre, bu durum gerekiyordu ne kadar Won't Fix altında Microsoft tarafından kapatıldı ama birileri umuyordum:

My Formu Kapalı olay hiçbir şey yok, şöyle bir çözüm vardı.

Uygulama açıkken sistem tepsisini temizleme hatları boyunca bir şey mi düşünüyordum? Iconnull için ayarlarda sonra Application.DoEvents() arama ve NotifyIcon atarken

sayesinde Benim için

+4

Bu beklenen bir davranıştır - sistem tepsisinde bir simge koyan her * programı etkiler, yalnızca sizinki değil. Bildirim alanıyla etkileşimde bulunacak bir API yok. –

+0

Ben çok korktum, ben sadece bir tane vardı "Biliyorum, taşma yığını üzerinde deha biri bir tane bu anladım" anlar – JMK

+0

Soruyu cevaplayan bir blog yazısı bulundu - http://tinyurl.com/ updatearea – JMK

cevap

1

işe yarıyor.

private void frmMain_FormClosed(object sender, FormClosedEventArgs e) 
{ 
    ntfyIcon.Icon = null; 
    ntfyIcon.Dispose(); 
    System.Windows.Forms.Application.DoEvents(); 
} 
İlgili konular