在我们的 UI 项目中,我们使用了一组自定义控件。自定义控件是几年前编写的。所有控件都会覆盖 OnPaint 方法,如下所示。在 OnPaint 方法中调用 OnPaintBackground 是否正确?
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaintBackground(e);
base.OnPaint(e);
}
摘自https://sites.google.com/site/craigandera/craigs-stuff/windows-forms/flicker-free-control-drawing 每次您的控件绘制时,都会触发 2 个事件。OnPaintBackground,然后是 OnPaint。他们总是一个接一个地开火。因此,作为用户类型,它们会像这样触发:OnPaintBackground、OnPaint、OnPaintBackground、OnPaint 等。
这可能有助于您理解底层的思考过程,但它仍然证明调用 OnPaintBackground 方法是合理的。