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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отсчитывать время по таймеру, в формате - ММ:СС 
V
    Опции темы
blast99
Дата 1.10.2006, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сисадмин
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 3.5.2005
Где: Россия, г. Ставро поль

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



Ребят, есть: label и две кнопки одна таймер запускает, другая останавливает.

Как работать с таймером разобрался...
Код

static System.Timers.Timer myTimer = new System.Timers.Timer();
    
public MainForm()
{
    Text = "This is my form";
    myTimer.Elapsed+=new ElapsedEventHandler(OnTimedEvent);
    myTimer.Interval=5000;
    myTimer.Enabled=true;
    myTimer.Start();
}
    
public static void OnTimedEvent(object source, ElapsedEventArgs e)
{
    myTimer.Stop();
    MessageBox.Show("Timer");
}


А вот как формировать прошедшее время в label не пойму...
Надо, чтобы тикало в формате ММ:СС(Минуты:Секунды).

--------------------
Зачастую, наши возможности ограничены лишь нашими желаниями. И ничто так не ограничивает желания, как заниженная оценка своих возможностей.
PM MAIL ICQ   Вверх
blast99
Дата 1.10.2006, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сисадмин
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 3.5.2005
Где: Россия, г. Ставро поль

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



хм... Оказывается у Compact Framework нет: System.Timers.Timer

А как же тогда в CF таймер завести?

Это сообщение отредактировал(а) blast99 - 1.10.2006, 16:51
--------------------
Зачастую, наши возможности ограничены лишь нашими желаниями. И ничто так не ограничивает желания, как заниженная оценка своих возможностей.
PM MAIL ICQ   Вверх
blast99
Дата 1.10.2006, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сисадмин
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 3.5.2005
Где: Россия, г. Ставро поль

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



Отображение написал:
Код

    public class myTime
    {
        uint uiMin = 0;
        uint uiSec = 0;

        public uint GetMin()  { return uiMin;  }

        public uint GetSec()  { return uiSec;  }

        public void IncSec()
        {
            if (uiSec == 59)
            {
                uiMin++;
                uiSec = 0;
            }
            else uiSec++;
        }


Это сообщение отредактировал(а) blast99 - 2.10.2006, 11:04
--------------------
Зачастую, наши возможности ограничены лишь нашими желаниями. И ничто так не ограничивает желания, как заниженная оценка своих возможностей.
PM MAIL ICQ   Вверх
blast99
Дата 1.10.2006, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сисадмин
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 3.5.2005
Где: Россия, г. Ставро поль

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



А вот как таймер завести, что-то не понял
--------------------
Зачастую, наши возможности ограничены лишь нашими желаниями. И ничто так не ограничивает желания, как заниженная оценка своих возможностей.
PM MAIL ICQ   Вверх
reloni
Дата 1.10.2006, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(blast99 @  1.10.2006,  17:35 Найти цитируемый пост)
хм... Оказывается у Compact Framework нет: System.Timers.Timer

В компакте есть:
System.Threading.Timer и System.Windows.Forms.Timer 

PM MAIL ICQ   Вверх
blast99
Дата 1.10.2006, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сисадмин
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 3.5.2005
Где: Россия, г. Ставро поль

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



reloni, спасибо за совет!
Доберусь до работы поищу...
--------------------
Зачастую, наши возможности ограничены лишь нашими желаниями. И ничто так не ограничивает желания, как заниженная оценка своих возможностей.
PM MAIL ICQ   Вверх
blast99
Дата 2.10.2006, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сисадмин
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 3.5.2005
Где: Россия, г. Ставро поль

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



С таймером разобрался! Пользую System.Windows.Forms.Timer.
Правда опять маленька я проблема.
Код

 // мой класс myTime
//см. пост выше.
 // Класс формы
    public class Form1 : System.Windows.Forms.Form
    {
        static Timer myTimer = new Timer(); // timer
        public myTime ob = new myTime(); // объект класс myTime
...
     }
// далее понятно
        public Form1()
        {
            InitializeComponent();
        }
// фун-я инициализации
        private void InitializeComponent()
        {
            myTimer.Tick += new EventHandler( TimerEventProcessor );
            myTimer.Interval = 1000;
            myTimer.Enabled = true;
         }

// а вот здесь невозможно обращаться ни к объекту ob
// ни к элементам формы.
        private static void TimerEventProcessor(Object myObject, EventArgs myEventArgs)
        {
            ob.IncSec();
            string str;
            str = string.Format("{0:0#}:{1:0#}", ob.GetMin(), ob.GetSec());
            lblTime.Text = str;
        }


 Блин, так как же сделать обработчик таймера с возможностью работы с объектами формы?

Это сообщение отредактировал(а) blast99 - 2.10.2006, 08:30
--------------------
Зачастую, наши возможности ограничены лишь нашими желаниями. И ничто так не ограничивает желания, как заниженная оценка своих возможностей.
PM MAIL ICQ   Вверх
Naum
Дата 2.10.2006, 09:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 743
Регистрация: 7.9.2005
Где: Саратов, ул. Поса дского, 298

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



У меня пока все еще нет студии под рукой smile ,и код С# я пока не могу писать в блокноте smile . Поэтому скажу лишь общую идею. 
При инициализации таймера записываешь в какую-нить глобальную переменную текущее время. А в обработке события Timer.Tick вычитаешь из текущего времени эту глобальную переменную и отображаешь получившееся значение.


--------------------
У нас всего два праздника Новый год и ТЯПница.
PM MAIL ICQ   Вверх
reloni
Дата 2.10.2006, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



blast99, а зачем функция обработчик статиком объявлена? Естественно в ней к элементам экземпляра формы обращаться нельзя.
PM MAIL ICQ   Вверх
blast99
Дата 2.10.2006, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сисадмин
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 3.5.2005
Где: Россия, г. Ставро поль

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



reloni, ты был прав!  smile 
Убрал static и все стало норм!

Ребят, спасибо большое за помощь!
--------------------
Зачастую, наши возможности ограничены лишь нашими желаниями. И ничто так не ограничивает желания, как заниженная оценка своих возможностей.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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