Reducing Flicker, Blinking in DataGridView

One of my project requirement was to create a Output Window similar to Visual Studio. For that I used a DataGridView. But when I start my application , I found that there is lot of blinking, flicker, pulling...After badly hitting my head with google, I found a very easy way. We just need to create a extension method to DataGridView and it's all done:

public static void DoubleBuffered(this DataGridView dgv, bool setting)


    Type dgvType = dgv.GetType();

    PropertyInfo pi = dgvType.GetProperty("DoubleBuffered",

    BindingFlags.Instance | BindingFlags.NonPublic);

    pi.SetValue(dgv, setting, null);