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

Как сделать паузу в таймере

09.05.2010, 12:09. Показов 13410. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, пожалуйста, как описать функцию паузы в таймере. У меня идет процесс игры на время. И мне необходимо добавить кнопку паузы. Никак не могу найти код для этой функции.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.05.2010, 12:09
Ответы с готовыми решениями:

Как сделать секундомер и паузу в нем
Как сделать секундомер и паузу на нем?

Как сделать паузу между символами, а не строками?
Здравствуйте, как сделать задержку между символами в строке? Например строка Loading , вот и чтобы символы "|" в интервале...

Как сделать паузу между шагами загрузки ProgressBar?
Приложение для windows 8. Как сделать плавную загрузку? for (int i = 0; i <= PBar.Maximum; i++) { ...

9
85 / 84 / 8
Регистрация: 03.11.2009
Сообщений: 723
09.05.2010, 14:54
C#
1
timer.sleep()
0
 Аватар для kirill29
2098 / 1263 / 173
Регистрация: 01.02.2009
Сообщений: 2,842
09.05.2010, 15:00
Sequd, что-то такого метода не нашел.
0
 Аватар для Pancheska
4 / 4 / 2
Регистрация: 13.03.2010
Сообщений: 141
09.05.2010, 15:01  [ТС]
Цитата Сообщение от Sequd Посмотреть сообщение
C#
1
timer.sleep()
Странно, но у меня нет такого продления у таймера как sleep.
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
09.05.2010, 16:34
Pancheska, если я правильно понял, Вам нужно сделать подсчет времени затраченного на игру, с вычетом времени потраченного на паузы.
Я бы в таком случае сделал так:
1) создается переменные типа DateTime "т1" (начало игры) и "т" (общее время игры)
2)При запуске игры (или выходе из паузы) т1=DateTime.Now;
3)При постановке на паузу или окончании игры т+=(DateTime.Now-т1)
Таким образом в "т" хранится время потраченное на игру.
0
 Аватар для Pancheska
4 / 4 / 2
Регистрация: 13.03.2010
Сообщений: 141
09.05.2010, 16:42  [ТС]
Цитата Сообщение от nio Посмотреть сообщение
Pancheska, если я правильно понял, Вам нужно сделать подсчет времени затраченного на игру, с вычетом времени потраченного на паузы.
Я бы в таком случае сделал так:
1) создается переменные типа DateTime "т1" (начало игры) и "т" (общее время игры)
2)При запуске игры (или выходе из паузы) т1=DateTime.Now;
3)При постановке на паузу или окончании игры т+=(DateTime.Now-т1)
Таким образом в "т" хранится время потраченное на игру.
У меня функция следующая. Есть таймер, который я сделала ввиде обратного отсчета. Игра на время. В любой момент игрок может нажать на кнопку паузы, чтобы приостановить игру. Затем он может возобновить игру и таймер должен продолжится с того значения, на котором остановился. Таймер я уже описала. Я не могу понять как выглядит код для кнопки пауза.
0
85 / 84 / 8
Регистрация: 03.11.2009
Сообщений: 723
09.05.2010, 16:47
да зачем замарачиваться? создай метод sleep() и вызывай его при вызове паузы
в самом методе просто останавливай таймер!!!
0
 Аватар для Pancheska
4 / 4 / 2
Регистрация: 13.03.2010
Сообщений: 141
09.05.2010, 16:53  [ТС]
Цитата Сообщение от Sequd Посмотреть сообщение
да зачем замарачиваться? создай метод sleep() и вызывай его при вызове паузы
в самом методе просто останавливай таймер!!!
Sequd, в этом вся и проблема, если бы я знала как этот процес остановки таймера описывается, я бы не создавала тут тему .
Вот часть моего кода к этому таймеру:
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
29
30
31
32
33
34
35
36
37
38
  private void PictureBox_Click(object sender, EventArgs e)
        {
            int countMirror = g.level.LevelTime;
            if (g.level.TimeStarted == false)
            {
                Timer t2 = new Timer();
                t2.Interval = 1000;
                t2.Start();               
                t2.Tick += new EventHandler(t2_tick);
                lblTimeToShow.Text = g.level.LevelTime.ToString();
                //while (g.level.LevelTimeCount != countMirror && g.level.LevelTimeCount >= 0) ;
                g.level.TimeStarted = true;
            }
 
 
private void t2_tick(object sender, EventArgs e)
        {
            Timer t = (Timer)sender;
 
            if ((g.level.LevelTime == 0) && (g.level.RemainPair != 0))
            {
                lblTimeToShow.Text = g.level.LevelTime.ToString();
                t.Stop();
                MessageBox.Show("Time is over! PLease, try again!");
                RemovePicBoxArrFromForm();
                g.level.TimeStarted = false;
 
            }
            lblTimeToShow.Text = g.level.LevelTime--.ToString();
            if (g.level.RemainPair == 0)
            {
                t.Stop();
                RemovePicBoxArrFromForm();
                g.level.TimeStarted = false;
 
            }
 
        }
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
09.05.2010, 17:06
Pancheska, если Ваш таймер минусует время к примеру ежесекундно, то его остановка методом Stop() или свойством Enabled=false, максимум, что Вы потеряете -- 1 сек.
Это не критично.

Добавлено через 7 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int seconds = 120;
 
        private void button1_Click(object sender, EventArgs e)
        {
            if (timer1.Enabled)
            {
                button1.Text = "Пуск";
                timer1.Enabled = false;
            }
            else
            {
                button1.Text = "Пауза";
                timer1.Enabled = true;
            }
        }
 
private void timer1_Tick(object sender, EventArgs e)
        {
            label1.Text=(--seconds).ToString();
        }
1
 Аватар для Pancheska
4 / 4 / 2
Регистрация: 13.03.2010
Сообщений: 141
09.05.2010, 22:52  [ТС]
Цитата Сообщение от nio Посмотреть сообщение
Pancheska, если Ваш таймер минусует время к примеру ежесекундно, то его остановка методом Stop() или свойством Enabled=false, максимум, что Вы потеряете -- 1 сек.
Это не критично.

Nio, спасибо огромное! Это то, что мне было нужно!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.05.2010, 22:52
Помогаю со студенческими работами здесь

Как реализовать паузу в таймере?
Здравствуйте, в общем, вот такая ситуация. В программе запущен таймер. По нажатию клавиши он должен ставится на паузу(не останавливаться,...

Как сделать паузу?
Как сделать что-бы када высвечивалось надпись окно закрывалось ТОЛЬКО если нажал какую-то клавишу а не сразу? Подскажите оператор плз! ...

Как сделать паузу в программе?
Здравствуйте! Помогите плиз! Как сделать в проге паузу? Программа-тест, юзер выбирает вариант ответа, нажимает на кнопку Дальше, на...

Как сделать рандомную паузу?
using System.Collections; using System.Collections.Generic; using UnityEngine; public class killer1 : MonoBehaviour { public...

Как сделать паузу в анимации?
Проигрывается определенная анимация в цикле. Как сделать паузу в этой анимации. Сделать кнопку, привязать к ней событие. Какое событие...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru