Mat*_*rum 5 c# drawing doublebuffered winforms
我想双缓冲包含按钮的自定义控件.我已经尝试了各种方法来双重缓冲控件; SetStyle,BufferedGraphicsContext和绘制到位图.这些都适用于控件的自定义绘图,但它们都不会处理将按钮绘制到后台缓冲区.我该如何实现这一目标?
从技术上讲,您不能,而且如果它们是标准 .NET WinForms 按钮,您实际上也不需要这样做。
按钮本身通过受保护的 DoubleBuffered 属性进行控制。访问它的唯一方法是从 SWFButton 派生一个新类,并实现代码以在该类的实例上启用 DoubleBuffered 属性(我可能会在构造函数中执行此操作)。最后,在窗体上使用该新类的对象而不是 SWFButton。
然而,据我记得,按钮纯粹是从 WinAPI 中提取的;它们不是 GDI+。因此,您不需要对他们的绘图进行双缓冲。也就是说,我不知道您的使用场景,也不知道您的应用程序显示什么症状,所以我可能是错的。:)
您可以考虑查看《Pro .NET 2.0 Windows Forms and Custom Controls in C#》一书。所有这些都是根据那本书中的信息总结的。
| 归档时间: |
|
| 查看次数: |
2941 次 |
| 最近记录: |