I can't see what your render is doing. You may need to use double buffering...
First try setting the form's
DoubleBuffered
property to
True
. Otherwise, for controls, have a read of this:
c# flickering Listview on update[
^]
You can make that code more generalized for all controls:
public static class ControlsExtension
{
public static void SetDoubleBuffered(this Control control, bool doubleBuffered = true)
{
control
.GetType()
.GetProperty("DoubleBuffered", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic)
?.SetValue(control, doubleBuffered, null);
}
}