Как сделать, чтобы повторный MessageBox не выводился? - C#

Узнай цену своей работы

Формулировка задачи:

Извиняюсь, если не совсем правильно сформулировал вопрос. Есть таймер, который дергает функцию
Листинг программы
  1. private void MonitoringTime()
  2. {
  3. List <GDataGridRow> rows = dataGrid.Rows.FindAll(x => ((MonitoringSite)x.Key).Before < Utils.Time.TimeUtils.UnixToDate(Utils.Time.TimeUtils.ServerUnixTime));
  4. if (rows != null)
  5. {
  6. for(int i =0; i < rows.Count; i++)
  7. {
  8. MessageBox.Show("Истекло время для " + ((MonitoringSite)x.Key).Name);
  9. }
  10. }
  11. }
Как сделать, чтобы пока сообщение на экране, новый MessageBox по данному объекту не показывать? Если в цикле появился новый объект,которого нет, его выводим. При этом на MessageBox должно идти время обратного отсчета на 1 минуту, по истечении времени, оно должно само закрываться. Но это уже другой вопрос.
Буду признателен любому совету. Заранее спасибо.

Решение задачи: «Как сделать, чтобы повторный MessageBox не выводился?»

textual
Листинг программы
  1. private bool IsMessageBoxShowing;
  2. private void MonitoringTime()
  3. {
  4.    List <GDataGridRow> rows =  dataGrid.Rows.FindAll(x => ((MonitoringSite)x.Key).Before < Utils.Time.TimeUtils.UnixToDate(Utils.Time.TimeUtils.ServerUnixTime));
  5.    if (rows != null)
  6.    {
  7.        for(int i =0; i < rows.Count; i++)
  8.        {
  9.            // Если вы вызываете MonitoringTime(); один раз
  10.            // и условие для цикла выполнится, то сообщения будут выводить друг за другом.
  11.            // Если вам это нужно избежать, добавьте break; после соощения.
  12.            // Если вы вызываете метод параллельно, тогда будет только 1 сообщение.
  13.            if(!IsMessageBoxShowing) {
  14.                 IsMessageBoxShowing = true;
  15.                 MessageBox.Show("Истекло время для " + ((MonitoringSite)x.Key).Name);
  16.                 IsMessageBoxShowing = false;
  17.                 // break;
  18.            }
  19.        }
  20.    }
  21. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.143 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы