【问题标题】:How to avoid screen flickering when showing form with user drawn controls?使用用户绘制的控件显示表单时如何避免屏幕闪烁?
【发布时间】:2010-09-18 05:37:24
【问题描述】:

这样transparent background problem 就解决了。现在,每次我展示表单(或必须重新绘制)时,我都会得到很多闪烁。有什么方法我不能在绘制事件完成之前更新屏幕,或者有什么其他方法可以在绘制所有对象时停止 1/2 秒的闪烁和闪烁?

回答:双缓冲是可行的方法。我已经在控件上进行了双重缓冲,但必须在表单上进行设置。我虽然双缓冲仅在您自己继承 OnPaint 时才有效。

【问题讨论】:

    标签: c# .net winforms user-controls onpaint


    【解决方案1】:

    您是否尝试为表单设置DoubleBuffered 属性?

    【讨论】:

      【解决方案2】:

      双缓冲可能会有所帮助,您可能想尝试的另一件事是:

      SuspendLayout();

      这里的东西……

      ResumeLayout();

      【讨论】:

      • DoubleBuffered 增加资源需求,但更有可能有效。 Suspend/ResumeLayout() 减少资源需求,但不太可能有效。
      【解决方案3】:

      在表单上设置 DoubleBuffered 属性。

      【讨论】:

        猜你喜欢
        • 2013-05-02
        • 1970-01-01
        • 1970-01-01
        • 2020-10-21
        • 1970-01-01
        • 2020-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多