微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 重复按钮点击

我有一个控件,允许用户在图像的特定部分执行一些重型图像处理,他们有箭头按钮在图像周围移动这个区域.

因为这个过程是非常繁重的(每次运行平均800毫秒)我使用了一个重复按钮,将其转换为“Ghost”并且仅在鼠标按下事件时执行该过程.

这非常有效,可以解决与此功能相关的大多数性能问题

然而

某些用户拒绝学习这种握持和释放的方法,并坚持点击按钮移动它而不是保持和释放.

这意味着每次敲击时都会调用重载方法,并且每次方法触发时它只会移动一个小的增量,因此它们在尝试执行时会导致应用程序挂起.这800ms进程中有100个

我的问题

如何以与保持和释放相同的方式处理这种敲击行为?

我想过一个计时器,但无法弄清楚我如何检测正常点击和最后一个点击之间的区别.

解决方法

考虑监控鼠标活动并在短时间不活动后开始重型过程.

考虑在单独的线程上运行该进程 – 这可能意味着在内存中克隆(部分)映像.

考虑阻止进程多次同时运行(如果可能的话,即进程是异步的).

原文地址:https://www.jb51.cc/csharp/100940.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐