Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
ai-zer
18 / 33 / 11
Регистрация: 09.10.2010
Сообщений: 418
Завершенные тесты: 1
1

Несколько таймеров

18.09.2011, 00:58. Просмотров 1098. Ответов 1
Метки нет (Все метки)

Добрый вечер. Имеется 2 numericUpDown, 2 label, 2 кнопки. Мне нужно, чтобы по нажатию кнопки отображался обратный отсчет в time_label1, время берется из time_numericUpDown1. Ну и на второй кнопке всё соответственно.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
        int i = 0;
        public void pay_button1_Click(object sender, EventArgs e)
        {
            i = decimal.ToInt32(time_numericUpDown1.Value * 60);
            time_label1.Text = i.ToString();
            timemanager(i);
        }
        public void timemanager(int i)
        {
            timer1.Interval = 1000;
            timer1.Enabled = true;
            timer1.Start();
        }
 
        private void timer1_Tick(object sender, EventArgs e)
        {
            time_label1.Text = (--i).ToString();
            time_label2.Text = (--i).ToString();
            if (i < 0)
                timer1.Stop();
        }
 
        private void pay_button2_Click(object sender, EventArgs e)
        {
            i = decimal.ToInt32(time_numericUpDown2.Value * 60);
            time_label2.Text = i.ToString();
            timemanager(i);
        }
Как мне сделать, чтобы они считались независимо, то сбивали друг друга. Этих кнопок будет много, добавляться будут, поэтому думаю вредно на каждую таймер вешать. Что делать мне?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2011, 00:58
Ответы с готовыми решениями:

Поочередное срабатывание таймеров
Есть три таймера, как заставить из сробатывать поочередно с заданным...

Timer, наложение таймеров один на другой
public partial class Form1 : Form { Timer tm = new Timer(); ...

несколько таймеров в программе?
Люди добрые, подскажите пожалуйста! В данный момент в моей программе (кстати,...

Запуск нескольких таймеров в потоке
Всем Привет! подскажите как сделать запуск несколько таймеров в потоке? я...

Массив таймеров и 1 обработчик события Tick
Подскажите, пожалуйста, как грамотнее сделать. Есть массив, в который я...

1
ushim
170 / 171 / 54
Регистрация: 01.06.2011
Сообщений: 507
18.09.2011, 09:31 2
Как раз несколько таймеров и нужно создавать, только как я понял код должен быть динамический.
Например делаем массив таймеров, массив лэйблов и массив чисел (для обратного отсчёта)
C#
1
2
3
Timer[] timers = new Timer[x];
Label[] labels = new Label[x];
int[] endTime = new int[x];
Всем таймерам присваиваем один обработчик событий, в обработчике определяем какой из таймеров его запустил
C#
1
Timer t = (Timer)sender;
А если быть точнее то нужно найти его индекс в массиве и по этому индексу из массива времени которое осталось до конца работы таймера делаем примерно так:
C#
1
2
3
4
5
int index = xxx; // Индекс
endTime[index]--;
labels[index].Text = endTime[index];
if (endTime[index] <= 0)
    timers[index].Enabled = false;
Соответственно у нас имеется массив кнопок
C#
1
Button[] btns = new Button[x];
им тоже делаем один обработчик событий, узнаём индекс кнопки по которой кликнули, запускаем таймер с таким же индексом.
ps. Потом попробую в коде, если у Вас ничего не получится
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.09.2011, 09:31

Несколько таймеров
Доброй ночи всем.Подскажите пожалуйста как создать и запустить несколько...

Несколько таймеров
Добрый день! не ругайте, я только учусь! Delphi 7 На форумах читал что 2...

Несколько таймеров
Вот код таймера. &lt;script type='text/javascript'&gt; (function(){ var...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru