Используйте PictureBox, если вам не нужна поддержка прокрутки, он по умолчанию имеет двойной буфер. Получить прокручиваемую панель с двойной буферизацией достаточно просто:
using System;
using System.Windows.Forms;
class MyPanel : Panel {
public MyPanel() {
this.DoubleBuffered = true;
this.ResizeRedraw = true;
}
}
Назначение ResizeRedraw подавляет оптимизацию рисования для элементов управления контейнера. Это понадобится вам, если вы будете рисовать на панели. Без этого картина смазывается при изменении размера панели.
Двойная буферизация на самом деле замедляет рисование. Который может влиять на элементы управления, которые рисуются позже. Отверстие, которое они оставляют перед заполнением, может некоторое время быть видимым, также воспринимается как мерцание. Вы найдете контрмеры против эффекта в этом ответе .