0
我有这样的代码:如何重新启动计时器?
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyData == Keys.Left)
{
left = true;
right = false;
down = false;
}
}
private void timerMoving_Tick(object sender, EventArgs e)
{
if(Ghost.Bounds.IntersectsWith(panel3.Bounds))
{
timerMoving.Stop();
}
if(left)
{
Ghost.Left -= 5;
timerMoving.Start();
}
}
在上面的代码为我的幽灵(它是向下移动)射门击中·Panel3中边界停止。 我希望我的计时器再次启动,因为我按了左,右或上键,只有当它向下移动时才停下来,碰到面板3。我试过这样做:
if(left)
{
Ghost.Left -= 5;
timerMoving.Start();
}
但没有任何反应,为什么?
您不能在tick事件中启动计时器。 – LarsTech
因为这段代码在你的定时器Tick事件中并且你停止了它,所以它永远不会再执行...... – Gusman
那么我该怎么做呢?我想重新启动计时器。 – zubaida12