/// <summary> /// Procédure appelée par le thread de copy pour terminer la copie. /// </summary> /// <param name="status">Si la copie s'est terminée correctement</param> private void End(CopyEnd status) { try { //On remet l'affichage de manière à pouvoir relancer la copie. ButGo.Text = "Go!"; _toolbarbutgo.Icon = new Icon("go.ico"); LoadDir(); EmptyEpisodeData(); PBarCopy.Value = PBarCopy.Maximum; UpdateWindowsProgressBar(); //Affichage différent en fonction du statut. switch (status) { case CopyEnd.Abort: WriteLblCopy("Traitement interrompu.", false); goto default; case CopyEnd.Error: WriteLblCopy("Une erreur est survenue. Consulter le log.", false); break; case CopyEnd.OK: WriteLblCopy("Traitement effectué avec succès.", false); if (!_show) notifyIcon1.ShowBalloonTip(4000, "Traitement terminé", "Terminé.", ToolTipIcon.Info); goto default; default: PBarCopy.Visible = false; break; } notifyIcon1.Text = "MoveShow"; SetOverlayIcon(status); } catch (Exception ex) { WriteLog(ex); } }
/// <summary> /// Modifie l'icône de statut dans la zone de notification /// </summary> /// <param name="status">Statut de la copie</param> private void SetOverlayIcon(CopyEnd status) { if (TaskbarManager.IsPlatformSupported) try { Icon ico; switch (status) { default: ico = new StockIcon(StockIconIdentifier.Warning).Icon; break; case CopyEnd.Error: ico = new StockIcon(StockIconIdentifier.Error).Icon; break; case CopyEnd.OK: ico = new Icon("go.ico"); break; } TaskbarManager.Instance.SetOverlayIcon(ico, status.ToString()); } catch (Exception ex) { WriteLog(ex); } }