Prawdopodobnie moje pytanie jest duplikatem tego Multiple icons open in tray bar. W mojej aplikacji WinFormy wyświetlam aplikację w zasobniku systemowym po zamknięciu formularza, tzn. Aplikacja nie kończy działania po zamknięciu formularza, ale wychodzi z niego po kliknięciu przycisku "Zamknij" w menu kontekstowym prawego przycisku na pasku zadań aplikacji.Wiele ikon powiadomień w zasobniku systemowym w WinForm
Ale kiedy używam aplikacji, zauważam, że w zasobniku systemowym jest znacznie więcej ikon powiadomień. Ale gdy tylko najedę na nie myszką, wszystkie znikają, z wyjątkiem tego, z uruchomioną aplikacją. Próbowałem każdej metody, aby wyeliminować wiele ikon, ale nie jestem w stanie tego zrobić.
Poniżej jest mój kod Dla Minimalizacja do zasobnika systemowego
public void MinimizeToTray()
{
try
{
this.WindowState = FormWindowState.Minimized;
TrayIcon.Visible = true;
TrayIcon.ShowBalloonTip(1000);
ShowInTaskbar = false;
//this.Activate();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
obciążenia formularza dodałem ten kod
private void LoadTrayMenu()
{
TrayMenu.Items.Add("Reminder");
TrayMenu.Items.Add("Close");
TrayMenu.Items[0].Click += new EventHandler(this.Reminder_Click);
TrayMenu.Items[1].Click += new System.EventHandler(this.Dispose_Click);
TrayIcon.ContextMenuStrip = TrayMenu;
}
Dispose zdarzenie jest następująco
private void Dispose_Click(object Sender, EventArgs e)
{
TrayIcon.Visible = false;
TrayIcon.Icon = null;
TrayIcon.Dispose();
this.Dispose();
}
Po kliknięciu myszką na ikonie napisałem następujący kod:
private void TrayIcon_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
this.Show();
this.WindowState = FormWindowState.Normal;
TrayIcon.Visible = false;
//TrayIcon.Icon = null;
//TrayIcon.Dispose();
ShowInTaskbar = true;
}
}
Próbowałem wyczyścić ikony powiadomień, ale nawet to mi nie pomogło. Czy brakuje mi czegoś naprawdę oczywistego. Każda pomoc będzie doceniona.
Rozwiązałeś to? Powiedz mi, jak to zrobiłeś, ponieważ nie mogłem tego jeszcze zrobić. Dzięki. –