求解在導航期間用戶控制閃爍
> 在控制更新期間,具有頻繁用戶控制導航的應用程序通常會閃爍。 雖然雙重緩衝是一種常見的方法,但完全解決此問題並不總是足夠的。
>這種閃爍的根本原因在於用戶控件的繪畫過程。 控件繪製其背景,留下兒童控制所在的差距。 然後,每個兒童控制都會繪製其內容,以填補這些空白。這些間隙的簡短可見性(通常是白色或黑色)產生了閃爍的效果。這個問題是Windows形式體系結構對單個Windows的子女控制的固有的。 最有效的解決方案是為整個表格(包括其子控制器)啟用雙重緩衝。這是通過將表單的
屬性設置為包含flag。
CreateParams
可以通過以下方式進行進一步的績效改進以最大程度地減少閃爍。
WS_EX_COMPOSITED
優化背景圖像:
採用背景圖像的“瓷磚”佈局來提高性能。 調整圖像大小以精確擬合控件的尺寸或在UC的OnResize()
禁用WS_Clipchildren:Format32bppPArgb
樣式,可防止其在子控制下繪畫。這允許兒童控制直接在背景上繪畫,從而掩蓋了閃爍的差距。
通過直接在UC'sWS_CLIPCHILDREN
>
以上是為什麼我的用戶控制閃爍在導航時閃爍?如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!