|
Query |
Response | ||
|
When I use DockingManager with multiple panels with lots of controls inside, I get a lot of flickering when they redraw and other panels are resized when a panel is hidden/shown.
Is there a way to prevent any redrawing for the duration and only show the final result when you're done? I tried DockingManager Suspend/ResumeLayout, Lock/UnlockHostFormUpdate and Lock/UnlockDockPanelsUpdate, also in combinations, but I always get flickering...
|
In Docking Manager, we have used Timer to Show / Hide the Panel with Animation effects. So we hope when using more Panels with controls loaded in it, it will be displayed with slight delay. This is a general problem when using more number of controls and for this case, we suggest you to set AnimateAutoHiddenWindow as false and it will disable animation, improve the show / hide process.
Code Snippet: [C#]
| ||
|
When I send WM_SETREDRAW message to the main form, it prevents flickering, but also makes form disappear for a while, so this is not a solution either. I need something that prevents redrawing like WM_SETREDRAW, but does not make form disappear. |
As like explained in various technical articles, please apply below settings in Panel which can be used in Docking Manager. It will reduce flickering considerably.
Code Snippets : [C#]
Reference: https://visualstudiomagazine.com/Articles/2004/12/01/Share-Controls-Between-WinForms.aspx
Also please try LockWindowUpdate and it will be helpful in this scenario.
Code Snippet [C#]
You can also try suggestion provided in following article.
|