Ste*_*ood 7 c# wpf visual-studio-2015
我有一个控件,允许用户在图像的特定部分执行一些重型图像处理,并且他们有箭头按钮在图像周围移动这个区域.
因为这个过程是非常繁重的(每次运行平均800毫秒)我使用了一个重复按钮,将其转换为"Ghost"并且仅在鼠标按下事件时执行该过程.
这非常有效并且解决了与此功能相关的大多数性能问题
然而
某些用户拒绝学习这种握持和释放的方法,并坚持点击按钮移动它而不是握住和释放.
这意味着每次敲击时都会调用重载方法,因为每次方法触发时它只会移动一个小的增量,所以当它尝试执行> 800这些800ms +进程时它们最终会挂起应用程序
我的问题
如何以与保持和释放相同的方式处理此敲击行为?
我想过一个计时器,但无法弄清楚我如何检测正常点击和最后一个点击之间的区别.
考虑监控鼠标活动,并在短时间不活动后启动繁重的进程。
考虑在单独的线程上运行该进程 - 这可能意味着将图像(部分)克隆到内存中。
考虑防止进程同时运行多次(如果可能的话,即进程是异步的)。
归档时间: |
|
查看次数: |
732 次 |
最近记录: |