我有一個用作繪圖表面的簡單面板。這裏的目標是在某些情況下圍繞子ListView繪製一個4像素寬的輪廓。我想在可以拖入某些內容時使輪廓起伏不定。如何在C#中不斷重新繪製控件時避免屏幕閃爍?
我只是圍繞ListView繪製一個簡單的矩形並更新計時器滴答事件中矩形的不透明度。當不透明度改變時,邊框被重新繪製。在這一點上,我正在對這幅畫進行雙緩衝。我也只允許每15次左右重繪一次(定時器間隔爲20毫秒)。畢竟,繪圖過程還是閃爍了一下。這是不可接受的,所以我需要一些關於如何避免這種情況的指導。
我沒有看到周圍的繪畫控制經常。需要從不透明到堅實再平穩過渡。當我將刻度間隔降低到足夠低時(降至約300-500毫秒),閃爍停止,但刷新率太慢。
我願意接受任何想法。也許我接近這一點的方式顯然是錯誤的,或者你們中的一個已經創造了一種發光效果並且知道該做什麼。感謝您提前提供任何幫助。
+1因爲您提醒我ImageAnimator類對我的另一個項目很有用。 – 2008-10-09 00:25:45