【问题标题】:performance in C# ApplicationC# 应用程序中的性能
【发布时间】:2010-02-06 09:32:17
【问题描述】:

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

我使用了一些带有透明颜色的标签和面板。 但是当程序启动时,我看到透明标签和面板中有很多闪烁。 而且很糟糕。

我该如何解决这个问题?

【问题讨论】:

  • 您使用的是 WPF 还是 WinForms?

标签: winforms performance transparency


【解决方案1】:

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

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

protected override void OnPaintBackground(PaintEventArgs e) {}

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

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

【讨论】:

  • 请写一个关于 onPaintBackground 和 Onpaint 的示例
  • 我无法使用 onPaintBackground 和 Onpaint 请帮助我,谢谢
  • 随时准备提供帮助,但我认为最好发布一个演示该问题的示例 C# 应用程序。只需像在生产代码中一样添加控件并设置属性。如果您在 Win7/Vista 或 XP 上运行,请告诉我们。
【解决方案2】:

你在多台机器上测试过吗?

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-21
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多