【问题标题】:Double buffer child controls in custom control (C#)自定义控件中的双缓冲子控件 (C#)
【发布时间】:2010-09-15 08:52:21
【问题描述】:

我想对包含按钮的自定义控件进行双重缓冲。我尝试了各种方法来双重缓冲控件; SetStyle、BufferedGraphicsContext 和绘制到位图。这些都适用于控件的自定义绘图,但它们都不能处理将按钮绘制到后台缓冲区。我如何做到这一点?

【问题讨论】:

标签: c# winforms drawing doublebuffered


【解决方案1】:

技术上你不能,如果它们是标准的 .NET WinForms 按钮,你真的不需要。

按钮本身通过受保护的 DoubleBuffered 属性进行控制。访问它的唯一方法是从 S.W.F.Button 派生一个新类,并实现代码以在该类的实例上启用 DoubleBuffered 属性(我可能会在构造函数中这样做)。最后,在表单上使用该新类的对象而不是 S.W.F.Buttons。

但是,我记得,按钮纯粹是从 WinAPI 中提取的;它们不是 GDI+。因此,您不应该需要对他们的绘图进行双重缓冲。也就是说,我不知道您的使用场景,也不知道您的应用程序正在显示什么症状,所以我可能是错的。 :)

你可以考虑看看Pro .NET 2.0 Windows Forms and Custom Controls in C#这本书。所有这些都是从那本书的信息中总结出来的。

【讨论】:

    猜你喜欢
    • 2010-12-22
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 2011-05-04
    • 1970-01-01
    • 2011-04-13
    • 1970-01-01
    • 2011-03-01
    相关资源
    最近更新 更多