[問題] 殘影 重繪
小弟最近遇到一個問題
想請問看看有沒有人也遇過 有方式解決的
大致上是有一個固定大小的Panel_A
在程式內利用迴圈產生許多相同的usercontrol(假設有50個))
放進Panel_A內 並用一個List<UserControl>來管理這些
每個UserControl內有一個panel 並且讀取某張圖片放入BackgroundImage
然後滑鼠在Panel_A上做 MouseDown + MouseMove的行為
在Panel_A的MouseMove觸發時判斷滑鼠左右位移的量
來改變每個usercontrol的location
現象就類似在拖拉這些Image
但數量一多(大約十幾個就會)移動時就可感受到拖拉時有殘影的感覺
或是拖拉後停止時 圖片有瞬間被掃過的刷新感
我目前掌握到的資訊:
網路大多都是設置DoubleBuffer的方法
也有試過SuspendLayout 和ResumeLayout
但還是會有該現象 只是嚴重與否
也試過每次移動時呼叫refresh invalid update等方式
但refresh因為會立即重繪,使得拖拉操作感變慢 產生拖拉到定位才刷新的錯覺
另外兩個方式雖不造成變慢 但殘影的感覺仍略微嚴重
故此想上來請問是否有更好的解決方式
我目前的想法是找尋
更改location時,不要重繪usercontrol內的panel或是該usercontrol
因為圖片並無改變大小
希望有類似經驗的人能夠提供一些方法 或是一些方向來討論
感謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.19.8
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1430839528.A.69F.html
→
05/05 23:30, , 1F
05/05 23:30, 1F
→
05/05 23:31, , 2F
05/05 23:31, 2F
→
05/05 23:31, , 3F
05/05 23:31, 3F
→
05/05 23:41, , 4F
05/05 23:41, 4F
→
05/05 23:42, , 5F
05/05 23:42, 5F
→
05/05 23:43, , 6F
05/05 23:43, 6F
推
05/06 00:11, , 7F
05/06 00:11, 7F
→
05/06 17:43, , 8F
05/06 17:43, 8F
推
05/07 23:59, , 9F
05/07 23:59, 9F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章