Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
ai-zer
18 / 33 / 4
Регистрация: 09.10.2010
Сообщений: 417
Завершенные тесты: 1
#1

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

18.09.2011, 00:58. Просмотров 1081. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Несколько таймеров (C#):

Поочередное срабатывание таймеров - C#
Есть три таймера, как заставить из сробатывать поочередно с заданным интервалом(задается через textBox) по нажатию кнопки? Причем таймер1...

.NET 4.x Timer, наложение таймеров один на другой - C#
public partial class Form1 : Form { Timer tm = new Timer(); bool tick; private void...

несколько таймеров в программе? - C#
Люди добрые, подскажите пожалуйста! В данный момент в моей программе (кстати, на Windows Mobile) крутятся 5 таймеров. У некоторых из них...

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

.NET 4.x Массив таймеров и 1 обработчик события Tick - C#
Подскажите, пожалуйста, как грамотнее сделать. Есть массив, в который я добавляю таймеры(System.Windows.Forms.Timer): public ArrayList...

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

1
ushim
169 / 170 / 14
Регистрация: 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
Привет! Вот еще темы с ответами:

Несколько таймеров - Visual C++
Доброй ночи всем.Подскажите пожалуйста как создать и запустить несколько таймеров в MFC из Visual Studio 6. Один таймер я могу создавать и...

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

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

Несколько таймеров не работают совместно - C#
у меня есть несколько таймеров. По таймеру запускаются разные методы. Если я прописываю только один таймер, то у все срабатывает...


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

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

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