Non mettere mai un GradientPanel della SyncFusion come background di una Form soprattutto se la distribuite in Terminal Server.

Lo scrivo perchè questa cosa mi ha fatto perdere un intero weekend di riposo. Se capita anche a voi, una form che durante il rendering conta tanti flash come si possono trovare solo alla notte degli oscar, per almeno una ventina di secondi consecutivi, ricordatevi di questo:

1) non mettete il GradientPanel di sfondo perchè a quanto pare costringe il contenuto ad essere ridisegnato decine di volte

2) Createvi un panel DoubleBufferPanel come il seguente:

using System;
using System.Windows.Forms;

namespace UI.Controls
{
    
public class DoubleBufferPanel : Panel
    {
        
public DoubleBufferPanel()
        {
            
this.SetStyle( 
                ControlStyles.DoubleBuffer | 
                ControlStyles.AllPaintingInWmPaint, 
                
true );
        }
    }
}

Il flag in questione faranno si che il flickering sia praticamente ridotto a zero:

I ringraziamenti ovviamente al maggico Raffaele.

powered by IMHO