快速eventHandler调用导致跳过代码

时间:2015-08-08 11:29:36

标签: c# .net events event-handling

我在mouseEnter上有一个eventHandler,其中我有简单的线性复杂性代码,我在List中添加和删除一些值。问题是,当我慢慢地勾选事件时,一切正常,但是当我以正常速度(用户会这样做)或快速打勾时,程序会跳过代码的一部分(我可以看作它的绘图)一些对象)导致List不稳定。

我听说通过锁定没有办法做到这一点,因为所有的UI调用都是在一个线程中处理的。

我需要完整且正确地执行代码,以便忽略某些事件(鼠标输入)的价格。

这是处理函数:

public static void HandleMouseEnter(object sender)
        {          
                    for (int i = 0; i < currentlyPrebuilt.Count; i++)
                    {
                        currentlyPrebuilt[i].Image = null;
                    }
                    currentlyPrebuilt.Clear();

                    for (int i = 1; i <= sender.x - startingPoint.x; i++) 
                    {
                        currentlyPrebuilt.Add(pictures[i]); 
                        pictures[i].Image = "sth.jpg";
                    }                    
            }
        }

如果使用鼠标移动太快,它就不会为列表中的所有图像设置null

0 个答案:

没有答案