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

Нужен пример работы с таймером

12.04.2012, 09:05. Показов 94811. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Это простой класс, и поэтому не хочу про него много читать, и по книге я не дошёл до этого.
Прошу написать пример показа сообщения каждые пять секунд.
Или можете дайте конспект.
Если это трудный класс, просто сообщите и мы закроем разговор.
Класс нужен для того чтобы написать программу Paint (рисование) на C#.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.04.2012, 09:05
Ответы с готовыми решениями:

Нужен пример работы с snmp
Ктонибудь использовал Snmp ? какую взять библиотеку ? или реализовывать через sockets ? дайте пример

Нужен пример работы с Socket
Требуется простой пример лучше статья где реализована работа с сокетами т.е отправка сообщения на удаленый ip адресс и получение с него...

Нужен пример работы с паттерном bridge
я тут продолжаю мучать паттерны вот дополз до моста нашол на этом сайте http://base.vingrad.ru/view/2832-Patternyi-v-Java-i-C вот такой...

9
14 / 14 / 2
Регистрация: 11.11.2010
Сообщений: 78
12.04.2012, 09:18
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private readonly Timer tmrShow;
 
///
 
            tmrShow = new Timer();
            tmrShow.Interval = 5000;
            tmrShow.Tick += tmrShow_Tick;
            tmrShow.Enabled = true;
 
///
 
        private void tmrShow_Tick(object sender, EventArgs e)
        {
            MessageBox.Show("Сообщение");
        }
Можно просто использовать компонент Timer. Добавил на форму, прописал Enabled = true и Interval = 5000 (в миллисекундах 1с=1000мс) и событие. Оно одно Tick.
2
Заблокирован
12.04.2012, 13:50  [ТС]
Я записываю эту строку:
tmrShow = new Timer();
Но записать слово tmrShow не получается.
Я записывал в метод Buttton_Click и ещё в пустое поле в сам класс Form1.

А записать следующую строку получилось:
C#
1
2
3
4
5
6
7
private void button1_Click(object sender, EventArgs e)
        {
            Timer time = new Timer();
            time.Interval = 5000;
            time.Enabled = true;
            time.Tick += Button_Time;
        }
На записать класс Form1 следующую строку не вышло:
C#
1
private void button_
Дальше ничего не выдавало.

Шась пытаюсь использовать коструктор Timer, но было бы неплохо если бы вы уяснили сваю мысль.

Добавлено через 5 минут
Добавил компонент timer1 и всё получилось, потом записал следующее и опят всё получилось, спасибо.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
        public Form1()
        {
            InitializeComponent();
            Timer timer1 = new Timer();
            timer1.Enabled = true;
            timer1.Interval = 1;
            timer1.Tick += button1_Click;
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            button1.Left += 1;
        }
0
14 / 14 / 2
Регистрация: 11.11.2010
Сообщений: 78
12.04.2012, 14:41
Цитата Сообщение от Доктор Гордон Посмотреть сообщение
Код C#
C#
1
2
3
4
5
6
7
8
9
10
11
12
 public Form1()
 {
 InitializeComponent();
 Timer timer1 = new Timer();
 timer1.Enabled = true;
 timer1.Interval = 1;
 timer1.Tick += button1_Click;
 }
private void button1_Click(object sender, EventArgs e)
 {
 button1.Left += 1;
 }
Это что-то страшное.
Вобщем так.
Для начала мы объявляем в вашем классе переменную tmrShow и указываем, что это таймер.
C#
1
private readonly Timer tmrShow; // Это идет до public Form1()
Дальше уже внутри public Form1() инициализируем наш таймер.
C#
1
2
3
4
            tmrShow = new Timer(); // создаем новый таймер
            tmrShow.Interval = 5000; // ставим интервал выполнения единственного события, через 5 секунд
            tmrShow.Tick += tmrShow_Tick; // создаем событие
            tmrShow.Enabled = true;// включаем таймер
0
Заблокирован
12.04.2012, 17:03  [ТС]
Цитата Сообщение от ВоффкаNew Посмотреть сообщение
Это что-то страшное.
Почему чтото страшное если ваш код отличается только объявлением элемента в другом месте?
А так всё норма, понял усёк, всё пошло.
0
14 / 14 / 2
Регистрация: 11.11.2010
Сообщений: 78
12.04.2012, 17:12
Не согласен. Судя по тому, что написано у вас, это при событии кнопки button1_Click (нажатие) передвигать её влево на 1 позицию.
У таймера есть только одно событие Timer_Tick - возникает, когда проходит время инициализированное свойству Interval, а button1_Click - это событие кнопки, которое в свою очередь возникает, когда пользователь нажимает на кнопку. Короче без 100грамм не разобраться.
1
12.04.2012, 17:16

Не по теме:

Не хочу никого обидеть, но по мойму во всех темах ТС "без 100грамм не разобраться".:D

2
Заблокирован
12.04.2012, 17:17  [ТС]
Цитата Сообщение от ВоффкаNew Посмотреть сообщение
Короче без 100грамм не разобраться.
Да понял ясно.


Цитата Сообщение от DimanRu Посмотреть сообщение
Не по теме:
Не хочу никого обидеть, но по мойму во всех темах ТС "без 100грамм не разобраться".
Вы можете убрать свои эмоции куда подальше.
0
 Аватар для fufel
20 / 20 / 6
Регистрация: 28.02.2011
Сообщений: 535
22.12.2016, 12:27
Добрый день.
Созрел такой вопрос (задача).

Я пишу класс который при инициализации должен создать Timer (каждый 5 секунд) и вызывать метод этого же класса.
Я могу создать отдельный поток и всё будет работать, но не хочу заворачиваться с многопоточностью.

Как мне сделать так чтобы при конструкторе создавался таймер который каждый 5 секунд вызывал метод в главном потоке?

Пример сверху не заработал.
0
14 / 14 / 2
Регистрация: 11.11.2010
Сообщений: 78
22.12.2016, 12:57
Ну тогда я бы с вашем классе создал событие и в главном потоке подписался бы на событие объекта класса.

Не знаю на сколько это правильно, но работать будет:

В классе:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
        public Timer TimerInMyClass = new Timer();
 
        public MyClass()
        {
            TimerInMyClass .Enabled = true;
            TimerInMyClass .Interval = 5000;
            TimerInMyClass .Tick += TimerInMyClass_Tick;
        }
 
        public void TimerInMyClass_Tick(object sender, EventArgs e)
        {
            FunctionInMyClass();
        }
 
        private void FunctionInMyClass()
        {
            MessageBox.Show("Таймер");   
        }
В главном потоке у Вас будет возможность подписаться на public событие TimerInMyClass_Tick.

Но я бы всё таки использовал свои события и делегат.

Добавлено через 10 минут
Может даже получится передавать в Ваш класс объект содержащий метод главного потока и прям в классе его вызывать. Всё зависит от того, что в целом происходить должно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.12.2016, 12:57
Помогаю со студенческими работами здесь

INI файлы. Нужен пример работы
Хочу разобраться с ini файлами но ничего не понимаю в этом. Если у кого-то есть опыт работы помогите?

пример работы с таймером - часы
В этой теме я объясню как создать собственный счётчик времени - часы. На форму кидаем 3 компонента label, кнопку Button и 3 edit и таймер...

Пример работы с API-шным таймером.
?

Нужен пример работы с матрицами
Как сделать матрицы в C++? Привидите хоть небольшой пример.

Нужен пример работы со списками
Здравствуйте! Мне в течении недели нужно сдать курсовик! Народ помогите пожалуйста киньте какую нибудь бузу данных. То есть само...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru