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

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

12.04.2012, 09:05. Показов 94876. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru