Question

I am writting some code in a wpf and I have a mouse that performs a click if the cursor stands still for a few seconds..I want to stop clicking if I open a new wpf window that i created...But it seems that dispachers doesn't stop, even if I tried almost everything...Is there any way??

   public DispatcherTimer NewDispacher = new DispatcherTimer();
   public DispatcherTimer NewDispacher2 = new DispatcherTimer();

   public void CreateDispachers() 
   {
       NewDispacher.Tick += new EventHandler(NewDispacher_Tick);
       NewDispacher.Interval = new TimeSpan(0, 0, 0, 0, 10);
       NewDispacher.Start();
       NewDispacher2.Tick += new EventHandler(NewDispacher2_Tick);
       NewDispacher2.Interval = new TimeSpan(0, 0, 0, 4);
       NewDispacher2.Start();
   }

   public void NewDispacher_Tick(object sender, EventArgs e)
    {
        pointcur = GetCursorPosition(); 
    }

   public void NewDispacher2_Tick(object sender, EventArgs e)
    {
        pointdiff = GetCursorPosition();
        if(form1opened==true)
        {   
             NewDispacher.Stop();
             NewDispacher = null;
             NewDispacher2.Stop();
             NewDispacher2 = null;
        }
        else if ((pointdiff.X >= pointcur.X - 5) 
                 && (pointdiff.X <= pointcur.X + 5) 
                 && (pointdiff.Y >= pointcur.Y - 5) 
                 && (pointdiff.Y <= pointdiff.Y + 5))
        {
            DoMouseClick();
            pointcur.X = 0;
        }

    }

I make the bool Form1opened=true when the new Form is opened, but even if it gets into the if, dispachers doesn't stop... Thanks in advance..

Was it helpful?

Solution

The fact is, Stop() *emphasized text*does*emphasized text* stop a DispatcherTimer in its tracks. So there must be an explanation elsewhere in your code. Perhaps you are restarting the timer somehow? Check when the code can execute that instantiates/starts the timers, in case it's getting called again unintentionally.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top