c# – 重复按钮点击

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

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

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

然而

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

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

我的问题

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

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

解决方法

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

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

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

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...