Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
9 / 9 / 2
Регистрация: 01.05.2009
Сообщений: 127

Массив таймеров

28.04.2010, 00:27. Показов 2104. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Подскажите пожалуйста с таким вопросом...
В программе создается массив таймеров. Пытаюсь реализовать работу таймеров так, чтобы они могли работать одновременно (т.е. чтобы запускался 1 таймер, через несколько секунд второй, третий и тд.). Возможно ли это сделать с одним обработчиком timer.Click, и если да, то каким образом?
Если нельзя, то тогда нужно создавать обработчик для каждого таймера...Тогда непонятно, как определить название каждого обработчика в зависимости от количества таймеров (количество таймеров узнается внутри самой программы, заранее оно не известно) и как тогда реализовать каждый обработчик?(можно ли сразу при объявлении обработчика описать его?).
Заранее спасибо.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.04.2010, 00:27
Ответы с готовыми решениями:

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

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

Создать массив таймеров
Добрый день форумчане. Хотел попросить помощи. Суть задачи и проблема такова: есть форма. На ней я создаю 30 лейблов слева вида: 1. 2. 3....

2
137 / 133 / 20
Регистрация: 03.02.2009
Сообщений: 608
28.04.2010, 09:18
Лучший ответ Сообщение было отмечено Alik-Soldier как решение

Решение

можно в одном обработчике...
каждому таймеру надо нарсовать строку типа...
C#
1
 this.timer.Tick += new System.EventHandler(this.timer_Tick);
а в методе уже искать конкретно какой таймер
C#
1
2
3
4
5
private void timer_Tick(object sender, EventArgs e)
{
   Timer t = (Timer)(sender);
   // t - это тот таймер, который вызвал данное событие...
}
1
9 / 9 / 2
Регистрация: 01.05.2009
Сообщений: 127
28.04.2010, 12:14  [ТС]
Попробовал реализовать таймеры в одном обработчике с обращением к каждому по индексу...сейчас возникла несколько иная проблема...
В проект подключается БД Access, в которой содержится 2 таблицы - водители и клиенты. Я пытаюсь сделать так, чтобы при добавлении в таблицу "клиенты" считывалось поле "маршрут", при этом в таблице "водители" ищется первый водитель, у которго поле "текущее_состояние" имеет значение "свободен". Далее это значение меняется на "В рейсе по маршруту такому-то" (в зависимости от поля маршрут введенного клиента), запускается таймер, по истечении которого статус меняется обратно на "Свободен". Я не могу сделать так, чтобы пока идет таймер 1, добавить нового клиента, запустить другой таймер и изменить состояние следующего водителя со "свободен" на "в рейсе"...
Я думаю, что косяк где то в этом месте кода: (метод Way()):
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void Way(int a)
        {
            c1.Connect();
            if (dataGridView2.Rows[a - 1].Cells[k].Value.ToString() == "по району")
            {
                MessageBox.Show("1");
                for (int i = 0; i < dataGridView1.RowCount - 1; i++)
                {
                    for (int j = 0; j < dataGridView1.ColumnCount; j++)
                    {
                        if (dataGridView1.Rows[i].Cells[j].Value.ToString().ToLower() == "свободен")
                        {
                            index = i + 1;
                            textBox9.Text = index.ToString();
                           ....
                        }
                    }
                }
            }
            c1.Disconnect();
, т.е как будто бы второй раз в цикле if не выполняется вообще...хотя водители со статусом "свободен" есть...
проект прикладываю
Вложения
Тип файла: rar Taxi.rar (160.9 Кб, 17 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.04.2010, 12:14
Помогаю со студенческими работами здесь

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

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

Синхронизация таймеров
Доброго времени суток. Мне необходимо синхронно запустить два таймера которые будут генерировать ШИМ. В дальнейшем понадобится так же...

Прерывания от таймеров
Изучаю реализацию прерываний от таймеров в Атмега168. Возникла непонятка с (якобы автоматической) перезагрузкой значений счетчиков. ...

Использование таймеров в Qt
Здравствуйте товарищи! Дело в том, что пишу курсовую. Нужно реализовать 2 таймера, чтобы по ним происходило 2 разных действия...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru