我有一个所有者绘制的 UserControl,我在其中实现了双缓冲。为了让双缓冲在没有闪烁的情况下工作,我必须像这样覆盖 OnPaintBackground 事件:
protected override void OnPaintBackground(PaintEventArgs e)
{
// don't even have to do anything else
}
这在运行时效果很好。问题是,当我在设计时在窗体上有一个控件实例时,它会变成一个黑洞,显示拖过它的任何窗口的轨迹(因为 OnPaintBackground 事件的覆盖也控制设计时外观)。这只是一个表面上的问题,但它在视觉上很刺耳,它总是让项目的新开发人员认为某些事情出了严重的错误。
有没有办法让这样的被覆盖方法在设计时不被覆盖,或者有另一种解决方案吗?