我创造了一个游戏,你需要拍摄一个每隔0.5秒在屏幕上随机移动的痣。
当我将鼠标移动到屏幕而不停止时,时间循环似乎会冻结,直到鼠标停止移动。
我有一个鼠标移动事件,刷新到屏幕, 以及每0.5秒更新一次表格的时间循环事件。如何在不干扰彼此的情况下运行这两个事件?
答案 0 :(得分:0)
我无法正确理解你,但通过你给出的线索,我可以建议你通过一个方法线程进程就可以做到这一点。因为你要改变的元素你必须使用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
}
答案 1 :(得分:0)
您可以使用Backgroundworker。订阅Backgroundworker的DoWork活动。您可以计算您的计时器或观看该事件。