Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.08.2015, 05:13   #1
Spot
Пользователь
 
Аватар для Spot
 
Регистрация: 04.06.2008
Сообщений: 32
По умолчанию Как приостановить таймер WPF

Код:
    public partial class Window1 : Window
    {
        DispatcherTimer dT = new DispatcherTimer();
        int i = 0;
        public Window1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            dT.Tick += new EventHandler(dT_Tick); //Это ссылка на действие таймера, в который вы поместите ваше зацикленное действие
            dT.Interval = new TimeSpan(0, 0, 0, 2); //Здесь вы ставите промежуток времени повторения цикла.
            dT.Start();//Это запускает Таймер

        }
        void dT_Tick(object sender, EventArgs e)
        {
            label1.Content = i;
            i++;
            if (i >= 10)
            {
                dT.Stop();
            }
        }

        private void button2_Click(object sender, RoutedEventArgs e)
        {
            dT.Stop();
        }

    }
Если нажать button2, потом button1, то label1 выводится через раз.
Как сделать приостановку таймера?
Spot вне форума Ответить с цитированием
Старый 31.08.2015, 08:24   #2
Akeloya
Форумчанин
 
Регистрация: 27.01.2014
Сообщений: 115
По умолчанию

Код:
dT.Tick += new EventHandler(dT_Tick); //Это ссылка на действие таймера, в который вы поместите ваше зацикленное действие
            dT.Interval = new TimeSpan(0, 0, 0, 2); //Здесь вы ставите промежуток времени повторения цикла.
это можно вынести в инициализацию, ибо если вы не меняете при нажатии кнопки значения интервала и привязку EventHandler, то такой код в обработчике нажатия кнопки бессмысленен.

Если бы вы открыли MSDN то увидели бы, что есть свойство isEnabled возвращающее и задающее значение запущен ли таймер или нет.
https://msdn.microsoft.com/ru-ru/lib...v=vs.110).aspx
Akeloya вне форума Ответить с цитированием
Старый 31.08.2015, 09:19   #3
Spot
Пользователь
 
Аватар для Spot
 
Регистрация: 04.06.2008
Сообщений: 32
По умолчанию

Спасибо)
Spot вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Два потока и общие данные, как приостановить в нужный момент и в нужном месте WhiskasTM Общие вопросы Delphi 2 26.11.2014 20:08
Как приостановить сервис т.е. сделать аналог SuspendProcess для процесса fedorov2012 Общие вопросы Delphi 0 16.05.2013 00:27
класс Screen в WPF. Есть ли такой? [?] Не добавлять же сборку Forms в WPF Casper-SC Общие вопросы .NET 2 30.07.2010 15:10
как приостановить работу программы? Virus191288 Общие вопросы Delphi 6 26.08.2009 19:50
Как приостановить выполнение макроса на определенное время? Ranel Microsoft Office Excel 6 16.06.2009 09:27