HOW TO USE DISPATCHERTIMER.STOP IN A DIFFERENT FUNCTION?

jayprakash sharma

Total Post:117

Points:821
Posted by  jayprakash sharma
C# 
C#
 1450  View(s)
Ratings:
Rate this:

I have a question regarding the use of dispatcherTimer in code. Please look at my situation below:

                                                                                                                                                                           

private void CheckShow(object sender, System.Windows.RoutedEventArgs e)

{

    DispatcherTimer dispatcherTimer = new DispatcherTimer();

    dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 0, 1);

    dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);            

    dispatcherTimer.Start();

    string etime = DateTime.Now.Second.ToString();     

}

private void dispatcherTimer_Tick(object sender, EventArgs e)

{

    if(System.IO.File.Exists(@"C:\Default.xml"))

    {

        LoadingRecent.Text = "Loading Default Show...";

        LoadBar.Opacity = 100;

        string time1 = DateTime.Now.Millisecond.ToString();

        string time2 = DateTime.Now.Second.ToString();

        double huidigetijd = System.Convert.ToDouble(time2 + "." + time1);

        LoadBar.Value = huidigetijd;

        Remainingnummer.Text = Convert.ToString(10 - DateTime.Now.Second);

        string etime = DateTime.Now.Second.ToString();

        if (etime == "10")

        {

            var provider = (XmlDataProvider)this.Resources["CUEData"];

            var loadfilepath = @"C:\Default.xml";

            provider.Source = new Uri(loadfilepath, UriKind.Absolute);

            Storyboard Hoofdvenster = (Storyboard)Resources["Hoofdvenster"];

            Hoofdvenster.Begin(this, true);

        }

As you can see in the top function I start the timer and then in the Tick I do some stuff when the timer reaches ten seconds. However I want to stop the dispatchertimer in that if statement but then I get a context error.

So how do I stop the timer in a different function?

  1. Pravesh Singh

    Post:412

    Points:2888
    Re: How to use dispatcherTimer.Stop in a different function?

    Hi Jay,


    this works :)

        public MainWindow()

        {

            InitializeComponent();

            DispatcherTimer dispatcherTimer = new DispatcherTimer();

            dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);

            dispatcherTimer.Interval = new TimeSpan(0, 0, 1);

            dispatcherTimer.Start();

        }

        private void dispatcherTimer_Tick(object sender, EventArgs e)

        {

                 //Do Something

        }

        private void Button_Click_1(object sender, RoutedEventArgs e)

        {

            Dispatcher.InvokeShutdown();

        }

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!