Я пытаюсь удвоить буфер элемента панели winforms. Я использую панель для рисования фигур. Прямо сейчас у меня есть что-то вроде:Вопросы панели winforms Doublebuffer
class BufferPanel : Panel {
public BufferPanel() {
this.DoubleBuffer = true;
}
}
Движение мышки вызывает панель Обновить(). Некоторые формы рисуются, когда запускается Paint. Здесь у меня проблема. Эти формы рисуются только в течение секунды после того, как движение мыши запускает Refresh, а затем полностью исчезает. Это похоже на то, что они нарисованы только на одном буфере или что-то в этом роде. Похоже, это происходит только с Paint. Например, я могу скопировать/вставить фигуры в метод перемещения мыши, и все будет работать нормально. Любые мысли о том, почему?
Похоже, вы не используете объект 'e.Graphics' из-за события' Paint' или 'OnPaint'. Избегайте использования 'CreateGraphics'. Попробуйте опубликовать свой код рисования. – LarsTech
Спасибо, что сделал трюк! – user1222728