Click here to Skip to main content
11,584,208 members (64,440 online)
Rate this: bad
Please Sign up or sign in to vote.
See more: C# Windows DateTime time
I need help with making a code that checks every second if Datetime is started. If it is started it should close the already running function. I know dispatchertimer but I want it to run the thread in background. The reason is because I have a mediaplayer that plays till datetime is started, causing the movie to restart every 1 second.

I would be very thank full if you guys could help me, a little bit desperate...

        Dictionary<string, string> listBox3Dict = new Dictionary<string, string>();
        private bool listbox3job()
            AxWMPLib.AxWindowsMediaPlayer axWmp =
wfh.Child as AxWMPLib.AxWindowsMediaPlayer;
            DateTime? start = DateTimePicker1.Value;
            DateTime? end = DateTimePicker2.Value; // This. End date. If end date. Stop movie.
            DateTime now = DateTime.Now;
            if (start == null || end == null)
            else if (now >= start.Value && now <= end.Value)
                    foreach (var selected in listBox3.Items)
                        string s = selected.ToString();
                        if (listBox3Dict.ContainsKey(s))
                            axWmp.URL = (listBox3Dict[s]);
                return true;
            return false;
Posted 17-Apr-13 10:18am
Sergey Alexandrovich Kryukov at 17-Apr-13 19:17pm
"I know dispatchertimer but I want it to run the thread in background."... how one prevents another?
What in the background, a movie?!
Rate this: bad
Please Sign up or sign in to vote.

Solution 2

Little code snippet about timer. Hope that help.

        Timer timer;
        int secondsToPlay;
        private void StartPlay_Click(object sender, EventArgs e)
            timer = new Timer();
            timer.Tick += new EventHandler(timer_Tick);
            timer.Interval = 1000;
            DateTime Start = dateTimePicker1.Value;
            DateTime End = dateTimePicker2.Value;
            TimeSpan total = End - Start;
            secondsToPlay = (int)total.TotalSeconds;
            // Start video etc ...
        void timer_Tick(object sender, EventArgs e)
            if (secondsToPlay <= 0)
                // Stop video etc ...

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 430
1 Sergey Alexandrovich Kryukov 369
2 Dave Kreskowiak 260
3 Richard Deeming 220
4 virusstorm 194
0 OriginalGriff 1,663
1 Sergey Alexandrovich Kryukov 1,229
2 Abhinav S 701
3 Dave Kreskowiak 667
4 Suvendu Shekhar Giri 568

Advertise | Privacy | Mobile
Web04 | 2.8.150603.1 | Last Updated 18 Apr 2013
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100