Двойной буфер пользовательский элемент управления в Compact Framework - PullRequest
1 голос
/ 18 февраля 2011

У меня есть пользовательский элемент управления, который наследуется от Panel. В итоге я поместил несколько DataGrids и Labels на эту панель. Когда он становится слишком длинным, он автоматически прокручивается для меня.

Мне действительно нужна прокрутка, потому что это список отсканированных объектов, размер которого будет больше, чем позволяет пространство на экране.

Но когда я прокручиваю, он довольно часто мерцает. Я хотел бы, чтобы это дало мне плавную прокрутку.

Я видел несколько примеров двойного буфера "Compact Framework", но все они являются методами рисования с двойной буферизацией (то есть graphics.DrawString). Мой пользовательский элемент управления не рисует сам по себе. Он просто помещает обычные сетки и метки на панель и позволяет панели их рисовать.

Есть ли способ удвоить буферизацию нормальных элементов управления (опять же НЕ пользовательской рисования)?

1 Ответ

1 голос
/ 18 февраля 2011

Элементы управления Compact Framework не имеют свойства DoubleBuffered или базового механизма двойной буферизации. Там нет никакого способа, чтобы добавить это либо.

Единственный способ получить двойную буферизацию - переопределить рисование элемента управления и сделать свой собственный.

...