zoukankan      html  css  js  c++  java
  • C# WinForm窗体 控件Control 的 Invalidate、Update、Refresh的区别

     

    Control.Refresh - does an Control.Invalidate followed by Control.Update.
    Refresh: 强制控件使其工作区无效并立即重绘自己和任何子控件。== Invalidate Update

    Control.Invalidate - invalidates a specific region of the Control (defaults to entire client area) and causes a paint message to be sent to the control.Invalidate marks the control (region, or rect) as in need of repainting, but doesn't immediately repaint (the repaint is triggered when everything else has been taken care of and the app becomes idle).
    Invalidate: 使控件的特定区域(可以自己设置区域,从而提高性能)无效并向控件发送绘制消息。
                    将控件标记为需要重绘,但是不会立即执行刷新重绘,等到系统空闲时进行重绘


    Control.Update - causes the Paint event to occur immediately (Windows will normally wait until there are no other messages for the window to process, before raising the Paint event).Update causes the control to immediately repaint if any portions have been invalidated.
    Update: 使控件重绘其工作区内的无效区域,立即调用Paint事件。若有无效区域,Update将立即触发重绘。

    The paint event of course is where all the drawing of your form occurs. Note there is only one pending Paint event, if you call Invalidate 3 times, you will still only receive one Paint event.
    Paint: 无处不在。如果你调用3次Invalidate,但是系统将只触发一次Paint事件

    Most of the time Invalidate is sufficient, and advisable as you can do a bunch of invalidations (either explicit or implicit) and then let the control repaint itself when the app is idle. It is advisable to use Update or Refresh when you want the control to immediately repaint because the app will not be idle for a user-noticable period of time.

    大多数时候Invalidate已经足够了,当系统要集中进行大量的刷新重绘时,建议使用Invalidate,因为这样系统最终只进行一次刷新,提高了系统性能。如果你想立即执行刷新的时候,建议使用Refresh方法。

  • 相关阅读:
    [Android应用开发] 01.快速入门
    [wordpress使用]004_导入多媒体
    【Python3爬虫】使用异步协程编写爬虫
    【Python3爬虫】斗鱼弹幕爬虫
    Pycharm2018永久破解的办法
    【Python3爬虫】大众点评爬虫(破解CSS反爬)
    【Python3爬虫】用Python发送天气预报邮件
    【Python3爬虫】猫眼电影爬虫(破解字符集反爬)
    【Python3爬虫】微博用户爬虫
    【Python3爬虫】拉勾网爬虫
  • 原文地址:https://www.cnblogs.com/1175429393wljblog/p/5845525.html
Copyright © 2011-2022 走看看