Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Таймер обратного отсчета 
:(
    Опции темы
Telsystems
Дата 5.10.2012, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 26.7.2012

Репутация: нет
Всего: нет



Доброго дня. Нужен совет по реализации таймера обратного отсчета на C#. мне отдается время в секундах, его нужно нужно перевести в формат минуты:секунды и реализовать отсчет времени назад на текст-боксе. при остановке таймера или при окончании времени нужно перевести время назад в секунды. Делаю так:

Код

int sec, min;
DateTime limitTime = new DateTime(0, 0);
  limitTime = limitTime.AddSeconds(LimitSecondsPerDay);
  min = limitTime.Minute;
  sec = limitTime.Second;
  tbLimitTime.Text = min + ":" + sec;

private void tServiceTimer_Tick(object sender, EventArgs e)
    {           
        tbLimitTime.Text = min + ":" + sec;

        if (min == 0 && sec == 0)
        {
            tServiceTimer.Stop();
            MessageBox.Show("time is over");
        }
        else
            if (sec == 0)
            { sec = 60; min--; }
        sec--;
    }

Вопрос: Как переконвертировать время назад в секунды и можно ли реализовать такую работу таймера более правильно? 
PM MAIL   Вверх
Figoro
Дата 5.10.2012, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 27.3.2005
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Код

        TimeSpan _span;
        int intervalIn = 139;

         _span = new TimeSpan(0, 0, intervalIn);
         Timer tm = new Timer();
         tm.Tick += new EventHandler(tm_Tick);
         tm.Interval = 1000;
         tm.Start();

        void tm_Tick(object sender, EventArgs e)
        {
            --intervalIn;
            if (intervalIn > 0)
                label1.Text = string.Format("{0}:{1} --> {2}",
                   _span.Minutes, _span.Seconds, intervalIn.ToString());
            else
                label1.Text = string.Format("Время закончилось: {0}:{1}", _span.Minutes, _span.Seconds);
        }

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0603 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.