Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
sysrepos
55 / 55 / 22
Регистрация: 08.08.2013
Сообщений: 332
Записей в блоге: 1
1

Закрыть программу и определить что таймер остановлен (класс System.Threading.Timer)

12.12.2016, 17:42. Просмотров 221. Ответов 1
Метки нет (Все метки)

Пишу простую программу секундомер, используя класс System.Threading.Timer. (проект во вложении)

полный текст программы:

Кликните здесь для просмотра всего текста
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
39
40
41
42
43
44
45
46
47
48
49
50
51
namespace MyExp
{
    public partial class Form1 : Form
    {
        System.Threading.Timer t1;
        TimeSpan ts;
 
        public Form1()
        {
            InitializeComponent();
            ts = new TimeSpan(0, 0, 0, 0, 0); 
        }
 
        private void Start_Click(object sender, EventArgs e)
        {
                t1 = new System.Threading.Timer(new TimerCallback(metod2_SekundomerStart), null, 0, 10);
        }
 
        private void Pause_Click(object sender, EventArgs e)
        {
            //t1.Change(0, 0);  // не правильная остановка таймера
            t1.Change(System.Threading.Timeout.Infinite, 0);  // правильная остановка таймера
        }
 
        private void reset_Click(object sender, EventArgs e)
        {
            ts=new TimeSpan(0, 0, 0, 0, 0);
            textBox2.Text = ts.ToString(@"hh\:mm\:ss\:ff");
        }
 
        private void metod2_SekundomerStart(object state)
        {
 
            Action action = delegate
            {
                ts = ts.Add(new TimeSpan(0, 0, 0, 0, 10));
                textBox2.Text = ts.ToString(@"hh\:mm\:ss\:ff");
            };
            Invoke(action);
        }
 
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            Application.Exit();
            t1.Change(0, 0);
            t1.Dispose();
            Application.Exit();
        }
 
    }
}


1. Но не могу понять, как правильно закрыть такую программу, подскажите как? Если в Form1_FormClosing ничего не писать - при закрытии будет ошибка, если написать, то что я написал - программа не закроется.
2. Как определить, что таймер остановлен? Нужно, например кнопку "Пауза" делать сделать неактивной после нажатия.
Есть ли какое то свойство или метод, с помощью которого это можно определить? В MDSN не увидел.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2016, 17:42
Ответы с готовыми решениями:

System.Timers.Timer vs System.Threading.Timer
System.Timers.Timer vs System.Threading.Timer. в чем разница если можно...

System.Threading.Timer в Winforms
Здраствуйте, подскажите как правильно запустить System.Threading.Timer на...

таймер system.threading
Помогите, пожалуйста, с кодом программы по созданию многопоточного секундомера,...

таймер из System.Windows.Threading;
У меня на форме есть панелька, свойство Visible у которой folse, при событии...

Таймер из System.Threading и обновление формы
Здравствуйте! Есть два класса, в одном по таймеру System.Threading в методе...

1
sysrepos
55 / 55 / 22
Регистрация: 08.08.2013
Сообщений: 332
Записей в блоге: 1
12.12.2016, 17:44  [ТС] 2
программа
0
Вложения
Тип файла: 7z секундомер (System.Timer).7z (29.0 Кб, 5 просмотров)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2016, 17:44

Нужно через таймер System.Threading.Timer менять картинку в интерфейсе
Нужно через таймер System.Threading.Timer менять картинку в интерфейсе. Таймер...

Нужен пример (статья) по работе с System.Threading.Timer
нужен пример статья, system.threading.timer

Неоднозначная ссылка "Timer" между "System.Windows.Forms.Timer" и "System.Timers.Timer"
Я делю таймер в Windows Form. но ругается компилятор на такой код: using...


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

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

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