2014-12-02 3 views
-1

В C# я хочу установить таймер при входе на страницу, а затем начать отсчет десяти секунд.Как установить таймер на C#?

Если пользователь не завершил операцию в течение десяти секунд, таймер запускается, предлагая «игру поверх».

Если пользователь завершил операцию в течение десяти секунд, устройство таймера будет отменено.

Как я могу это сделать?

ответ

6

Использование DispatcherTimer класс. Обработчик события tick должен иметь код, который говорит об игре.

Example:

DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer(); 
dispatcherTimer.Tick += dispatcherTimer_Tick; 
dispatcherTimer.Interval = new TimeSpan(0,0,10); 
dispatcherTimer.Start(); 

private void dispatcherTimer_Tick(object sender, EventArgs e) 
{ 
    ((DispatcherTimer)sender).Stop(); 
    //Your code here 
} 

Всякий раз, когда пользователь только что завершил свою работу, вы можете просто позвонить dispatcherTimer.Stop();. Это остановит таймер.

+1

Обратите внимание, что здесь 'DispatcherTimer' предпочтительнее, потому что он автоматически сохранит событие таймера в потоке пользовательского интерфейса, где он, вероятно, должен быть (трудно узнать из неопределенно сформулированного вопроса). Но для того, чтобы быть полным, стоит упомянуть, что в этом сценарии, где требуется «одноразовый» таймер, кроме проблемы с привязкой к потоку, ['System.Threading.Timer'] (http://msdn.microsoft .com/en-us/library/2x96zfy7 (v = vs.110) .aspx) класс предлагает это поведение напрямую, без необходимости останавливать таймер после первого события/обратного вызова. –

+0

Спасибо, он работает. но «EventArgs e» должен измениться на «объект e» –

+0

Могу ли я получить оставшееся время? Я хочу отобразить Time left, Точность 0,1 секунды –

Смежные вопросы