/// <summary> /// Finaliza notificação. /// </summary> /// <param name="janela">Janela finalizada.</param> private static void FinalizarNotificação(Notificação janela) { #if DEBUG Console.WriteLine("Finalizando notificação {0}", janela.ToString()); #endif lock (typeof(Notificação)) { bool ok = false; if (exibição.Count > 0) { exibição.Dequeue(); while (exibição.Count > 0 && !ok) { try { exibição.Peek().Ativar(); ok = true; #if DEBUG Console.WriteLine("Ativando notificação {0}", exibição.Peek().ToString()); #endif } catch { exibição.Dequeue(); ok = false; #if DEBUG Console.WriteLine("Problemas com a notificação {0}", janela.ToString()); #endif } } } } }
/// <summary> /// Inicia exibição de notificação, se nenhuma outra /// estiver em exibição no momento. /// </summary> private static void IniciarNotificação(Notificação janela) { #if DEBUG Console.WriteLine("Iniciando notificação {0}", janela.ToString()); #endif lock (typeof(Notificação)) { exibição.Enqueue(janela); janela.Enabled = (exibição.Count == 1); janela.timer.Enabled = true; janela.timer.Start(); } }