我有一个用作绘图表面的简单面板。这里的目标是在某些情况下围绕子ListView绘制一个4像素宽的轮廓。我想在可以拖入某些内容时使轮廓起伏不定。如何在C#中不断重新绘制控件时避免屏幕闪烁?
我只是围绕ListView绘制一个简单的矩形并更新计时器滴答事件中矩形的不透明度。当不透明度改变时,边框被重新绘制。在这一点上,我正在对这幅画进行双缓冲。我也只允许每15次左右重绘一次(定时器间隔为20毫秒)。毕竟,绘图过程还是闪烁了一下。这是不可接受的,所以我需要一些关于如何避免这种情况的指导。
我没有看到周围的绘画控制经常。需要从不透明到坚实再平稳过渡。当我将刻度间隔降低到足够低时(降至约300-500毫秒),闪烁停止,但刷新率太慢。
我愿意接受任何想法。也许我接近这一点的方式显然是错误的,或者你们中的一个已经创造了一种发光效果并且知道该做什么。感谢您提前提供任何帮助。
+1因为您提醒我ImageAnimator类对我的另一个项目很有用。 – 2008-10-09 00:25:45