Winforms C#应用程序中的性能

Winforms C#应用程序中的性能,winforms,performance,transparency,Winforms,Performance,Transparency,我在“MainForm”中使用了一些图片,我的Windows应用程序是由c sharp编写的。 我使用此表单启动项目中的其他表单 我使用一些透明颜色的标签和面板。 但当程序启动时,我看到透明的标签和面板上有许多闪烁。 这是非常糟糕的 如何解决此问题?您是否在多台机器上对其进行了测试 您是否将更新的计算机与所需的所有.net service Pack一起使用 etc启用上面建议的双缓冲作为stax是有帮助的,但可能不够 在表单中,添加以下方法替代: protected override void

我在“MainForm”中使用了一些图片,我的Windows应用程序是由c sharp编写的。 我使用此表单启动项目中的其他表单

我使用一些透明颜色的标签和面板。 但当程序启动时,我看到透明的标签和面板上有许多闪烁。 这是非常糟糕的


如何解决此问题?

您是否在多台机器上对其进行了测试

您是否将更新的计算机与所需的所有.net service Pack一起使用


etc

启用上面建议的双缓冲作为stax是有帮助的,但可能不够

在表单中,添加以下方法替代:

protected override void OnPaintBackground(PaintEventArgs e) {}
并且,在
OnPaint
方法中,自己绘制背景。如果不这样做,则绘制背景和绘制是独立的事件,并且背景绘制具有更高的优先级,这意味着它将更早发生


此外,如果添加子控件(如标签),它们将接收自己的绘制背景/绘制事件。您可以禁用标签的背景。如果我这样做,我倾向于不使用控件,而是在一个
OnPaint
中绘制文本和图像

您使用的是WPF还是WinForms?请写一个关于onPaintBackground和OnpaintI的示例我不能使用onPaintBackground和OnPainth请帮助我谢谢您一直准备提供帮助,但我认为最好是发布一个示例C#应用程序来演示这个问题。只需像在生产代码中那样添加控件和设置属性。请告诉我们您是在Win7/Vista还是XP上运行。