2016-12-29 7 views
-1

Я создал игру, где вам нужно снимать родинку, которая перемещается случайным образом на экране каждые 0,5 секунды.C#, когда событие перемещения мыши, остановки цикла времени

Когда я перемещаю мышь по экрану без остановки, петля времени, кажется, замерзает, пока мышь не перестанет двигаться.

У меня есть событие перемещения мыши, которое освежает экран, и событие цикла времени, которое обновляет форму каждые 0,5 секунды. Как я могу заставить оба события работать, не мешая друг другу?

+3

Вы также можете поделиться своим кодом? – Prajwal

ответ

0

Я не могу понять вас должным образом, но по подсказкам, которые вы указали, я могу предложить вам, сделав один метод потоковым процессом, выполнив трюк. Поскольку его uielement вы меняете, вы должны использовать метод Begininvoke.

   public delegate void InvokeDelegate(); 

       private void Invoke_Click(object sender, EventArgs e) 
        { 
         mole.BeginInvoke(new InvokeDelegate(InvokeMethod)); 
        } 
         public void InvokeMethod() 
        { 
         // change your mole position here 
         } 
0

Вы можете использовать Backgroundworker. Подпишитесь на DoWork event of Backgroundworker. И вы можете подсчитать свой таймер или часы внутри этого события.

You can look here

 Смежные вопросы

  • Нет связанных вопросов^_^