Проблема управления временем в C # - PullRequest
1 голос
/ 10 августа 2009

Я пытаюсь написать программу, которая использует таймер, продолжительность, время начала и время окончания.

В этой программе три экрана. Когда я нажимаю кнопку запуска таймера на одном экране, два других экрана с таймером автоматически обновляются. В настоящее время у меня есть один экран, на котором работает таймер, а на двух других экранах отображается 00:00:00, а первый еще работает. Мне было интересно, есть ли у кого-нибудь предложение, как связать эти три экрана вместе, например, если прошла одна минута, на всех трех экранах будет отображаться 00:01:00 вместо просто 00:00:00, 00:00:00 00:01:00.

Мне просто нужен какой-то намек или идея или то, что я должен найти, чтобы решить эту проблему для себя.

Я использую язык C #

Ответы [ 2 ]

8 голосов
/ 10 августа 2009

Вы должны использовать делегата на вашем классе таймера. Затем каждое окно должно обрабатывать событие делегата и обновлять его отображение при необходимости.

Пример:

Timer.TimeChange += form1.OnTimeChange;
Timer.TimeChange += form2.OnTimeChange;
Timer.TimeChange += form3.OnTimeChange;

где TimeChange - ваш делегат таймера, а OnTimeChange - метод обновления формы.

0 голосов
/ 10 августа 2009

Вы хотите убедиться, что таймер изолирован от GUI. Я бы предложил создать класс таймера и заставить его запускать события, которые будут слушать окна (хотя вы, вероятно, захотите ограничивать его тем, что запускаете события так часто.) Руководство по MSDN по событиям

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...