C# 用户绘制的控件正在使用以前的窗体背景
我在一个窗体上有几个用户绘制的控件,不幸的是,当显示窗体时,用户绘制的控件显示的是以前的窗体背景,而不是当前窗体背景 OnPaint事件非常简单,OnBackgroundPaint事件为空 像这样:C# 用户绘制的控件正在使用以前的窗体背景,c#,.net,winforms,user-controls,onpaint,C#,.net,Winforms,User Controls,Onpaint,我在一个窗体上有几个用户绘制的控件,不幸的是,当显示窗体时,用户绘制的控件显示的是以前的窗体背景,而不是当前窗体背景 OnPaint事件非常简单,OnBackgroundPaint事件为空 像这样: protected override void OnPaint(PaintEventArgs pe) { pe.Graphics.DrawImageUnscaled(_bmpImage, 0, 0); } protected
protected override void OnPaint(PaintEventArgs pe)
{
pe.Graphics.DrawImageUnscaled(_bmpImage, 0, 0);
}
protected override void OnPaintBackground(PaintEventArgs pevent)
{
//Leave empty...
}
如何使当前背景成为显示的透明度,而不是上一个窗体的背景?您需要设置窗口样式-这是一个。您似乎正在覆盖
OnPaintBackground
方法,而不是对背景执行任何操作。既然您将它保留为空,那么首先可能不应该覆盖它。当您让默认的OnPaintBackground
处理程序执行其工作时会发生什么?这不应该自动正确地绘制当前控件的背景吗
另外,我从未使用过自定义绘制.Net控件。我只是想帮你找到解决问题的办法。原谅我,如果我的建议完全错了