[英]Call function few seconds after scroll form in C#
在表单中有一个计时器,我想在表单滚动时禁用timer.tick
并在几秒钟后再次启用计时器。 怎么可能? 最好的祝福。
您不需要停止计时器的滴答声。 如果有人最近滚动,你只需要阻止它做任何事情。
每次滚动发生时写一个时间戳。 您可以通过订阅Scroll事件来做到这一点。
DateTime _lastScrollTime = DateTime.MinValue;
void MyControl_Scroll(object sender ScrollEventArgs e)
{
_lastScrollTime = DateTime.Now;
}
然后在您的计时器事件中,检查时间戳以确保最近没有人在执行任何操作之前滚动:
void Timer_Tick(object sender, EventArgs e)
{
if (_lastScrollTime > DateTime.Now.AddSeconds(-2)) return;
//Do timer stuff
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.