在C#应用程序中的性能

时间:2010-02-06 09:32:18

标签: winforms performance transparency

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

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

我如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

上面建议的启用DoubleBuffered stax 会很有帮助,但可能还不够。

在表单中,添加以下方法覆盖:

protected override void OnPaintBackground(PaintEventArgs e) {}

并且,在OnPaint方法中,自己绘制背景。如果你不这样做,绘制背景和绘画是单独的事件,背景绘画具有更高的优先级,这意味着它将更早发生。

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

答案 1 :(得分:0)

你是在多台机器上测试的吗?

您是否使用了所需的所有.net服务包的更新计算机。