我有一个文本框,有一个相当沉重的_TextChanged事件处理程序.在正常的打字条件下,性能还可以,但是当用户执行长时间的连续动作时,它会明显滞后,例如按下退格按钮一次删除大量文本.
例如,事件花费0.2秒完成,但用户每0.1秒执行一次删除.因此,它无法赶上,并且会有积压的事件需要处理,导致UI滞后.
但是,事件不需要为这些中间状态运行,因为它只关心最终结果.有没有办法让事件处理程序知道它应该只处理最新的事件,并忽略所有以前陈旧的变化?
我注意到Math.Round()比Decimal.Round()更灵活,因为它能够处理所有Decimal.Round()可以,但也可以执行相同的给定double输入.那么有什么情况下使用Decimal.Round()更好,或者一直使用Math.Round()更好的主意?