C# 双缓冲区压缩框架中的自定义控件

C# 双缓冲区压缩框架中的自定义控件,c#,windows-mobile,compact-framework,doublebuffered,C#,Windows Mobile,Compact Framework,Doublebuffered,我有一个从面板继承的自定义控件。最后,我在这个面板上放置了几个数据网格和标签。当它变得太长时,它会自动为我滚动 我真的需要滚动,因为它是一个扫描对象的列表,将增长超过屏幕上允许的空间 但当我滚动时,它会闪烁很多。我想让它给我一些平滑的滚动 我已经看到了几个“Compact Framework”双缓冲区示例,但它们都是双缓冲绘制方法(即graphics.DrawString)。我的自定义控件本身不进行任何绘制。它只是将普通栅格和标签放置在面板上,并让面板绘制它们 有没有办法将普通控件的缓冲区加倍(

我有一个从
面板继承的自定义控件。最后,我在这个面板上放置了几个数据网格和标签。当它变得太长时,它会自动为我滚动

我真的需要滚动,因为它是一个扫描对象的列表,将增长超过屏幕上允许的空间

但当我滚动时,它会闪烁很多。我想让它给我一些平滑的滚动

我已经看到了几个“Compact Framework”双缓冲区示例,但它们都是双缓冲绘制方法(即
graphics.DrawString
)。我的自定义控件本身不进行任何绘制。它只是将普通栅格和标签放置在面板上,并让面板绘制它们


有没有办法将普通控件的缓冲区加倍(同样不是自定义绘制)?

Compact Framework控件没有double Buffered属性或底层的双缓冲机制。也没有办法添加它


获得双缓冲的唯一方法是重写控件的绘制并自行完成。

Compact Framework控件没有双缓冲属性或底层的双缓冲机制。也没有办法添加它


获得双缓冲的唯一方法是覆盖控件的绘制并自己进行处理。

如果找不到答案,可能有一种方法可以延迟更新,直到控件完成移动/滚动(如果有帮助的话)。如果找不到答案,也许有一种方法可以延迟更新,直到控件完成移动/滚动,如果可以的话。谢谢你的指针。我试图在OnPaint方法中对面板和面板上的控件进行BitBlt,但这并没有改善滚动的失真(它不会闪烁太多。它确实是在绘制控件的部分,并且绘制得太慢和太粗)。从我的C++时代(几年前)我就不需要和BitBlt做太多的事情。所以我可能做错了。如果您有任何可以帮助双缓冲的示例代码,那就太好了。谢谢您的指针。我试图在OnPaint方法中对面板和面板上的控件进行BitBlt,但这并没有改善滚动的失真(它不会闪烁太多。它确实是在绘制控件的部分,并且绘制得太慢和太粗)。从我的C++时代(几年前)我就不需要和BitBlt做太多的事情。所以我可能做错了。如果您有任何可以帮助实现双缓冲的示例代码,那就太好了。