用C#玩小游戏有问题。如何判断当用户长时间按下一个按钮时,只判断该按钮按了一次?

当keyDown事件第一次发生时,信号量被设置为true,下一次keyDown没有响应。如果发生keyUp,它被设置为false,并且停止keyDown。启动一个线程,每隔50毫秒监控一次信号量的值。如果它的值超过3秒为真,就可以认为某个键被长时间按下了。