0

在我们的 UI 项目中,我们使用了一组自定义控件。自定义控件是几年前编写的。所有控件都会覆盖 OnPaint 方法,如下所示。在 OnPaint 方法中调用 OnPaintBackground 是否正确?

protected override void OnPaint(PaintEventArgs e)
    {
        base.OnPaintBackground(e);
        base.OnPaint(e);
    }
4

1 回答 1

0

摘自https://sites.google.com/site/craigandera/craigs-stuff/windows-forms/flicker-free-control-drawing 每次您的控件绘制时,都会触发 2 个事件。OnPaintBackground,然后是 OnPaint。他们总是一个接一个地开火。因此,作为用户类型,它们会像这样触发:OnPaintBackground、OnPaint、OnPaintBackground、OnPaint 等。

这可能有助于您理解底层的思考过程,但它仍然证明调用 OnPaintBackground 方法是合理的。

于 2013-01-08T12:16:36.790 回答