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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2013, 22:42   #1
orange_box
Новичок
Джуниор
 
Регистрация: 16.05.2013
Сообщений: 1
Восклицание Таймер

Привет всем, программированием увлекаюсь недавно, так вот, нужна помощь:
Есть такой код
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;

namespace KJLNKAJLKA
{
    public partial class MainPage : PhoneApplicationPage
    {
        // Конструктор
        public MainPage()
        {
            InitializeComponent();
        }
        int timer = 0;
        int timeleft = 30;



        public void StartTimer()
        {
            System.Windows.Threading.DispatcherTimer myDispatcherTimer = new System.Windows.Threading.DispatcherTimer();
            myDispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 1000); // 100 Milliseconds 
            myDispatcherTimer.Tick += new EventHandler(Each_Tick);
            myDispatcherTimer.Start();
        }

        // A variable to count with.
        int i = 0;

        // Raised every 100 miliseconds while the DispatcherTimer is active.
        public void Each_Tick(object o, EventArgs sender)
        {
            if (timer == 1)
            {
                myTextBlock.Text = "Осталось: " + ((timeleft) - (i++)).ToString() + " сек";
            }
        }


        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            if (timer == 0)
            {
                StartTimer();
                timer = 1;
            }
            if (timeleft != 0)
            {
                myTextBlock.Text = "Время вышло!";
                myDispatcherTimer.Stop();
                
            }
        }
    }
}

Вот тут
Код:
        public void StartTimer()
        {
            System.Windows.Threading.DispatcherTimer myDispatcherTimer = new System.Windows.Threading.DispatcherTimer();
            myDispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 1000); // 100 Milliseconds 
            myDispatcherTimer.Tick += new EventHandler(Each_Tick);
            myDispatcherTimer.Start();
        }
создается таймер и тут же стартует, как мне сделать что бы он стартовал при нажатии, например на кнопку? А на другую кнопку останавливался? А то никак не получается.
orange_box вне форума Ответить с цитированием
Старый 16.05.2013, 23:33   #2
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

IsEnabled - Возвращает или задает значение, указывающее, запущен ли таймер.
Таймер создавайте в конструкторе, а по нажатию смотрите, если запущен - останавливайте, если остановлен - запускаете.
dampirik вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
таймер Tema_666 Общие вопросы Delphi 6 03.03.2011 09:20
Таймер(C#) Bella Помощь студентам 0 23.03.2010 19:17
Таймер на С++ Александр Елис Помощь студентам 3 26.01.2010 16:30
Таймер Sergeo_89 Общие вопросы Delphi 11 24.01.2010 16:38
Таймер Nitrino Общие вопросы C/C++ 2 29.12.2009 23:17