C# winform事件执行顺序

进入控件时:先激发OnEnter后激发OnGotFocus

离开控件时:先激发OnLostFocus后激发OnLeave

单击键盘时:先激发OnKeyDown后激发OnKeyPress最后是OnKeyUp

Paint事件   

    C#中,窗体、容器、控件的绘制有着一定的顺序。首先绘制容器里的控件,然后绘制窗体上的容器,最后再绘制窗体。

Load事件

   窗体的构造方法先于Load事件,Load事件先于Paint事件发生。所以,一定要注意你的一些初始化代码的放置位置。初始化代码最好放在窗体的构造方法中,并且要在InitializeComponent()方法之后。只有窗体或者UserControl这类的最上层的Windows界面才具有Load事件。   

Refresh方法

    每次调用窗体的Refresh()方法时,都将按照控件、容器、窗体的顺序触发它们的Paint事件,执行相应的事件处理程序。也可以只调用某个控件的Refresh方法,而不重绘整个窗体。如果触发某个Container的Paint事件,那么Container内的所有控件的Paint事件也将被触发。

当窗体被其他窗体覆盖,也会引起paint事件

原文地址:https://www.cnblogs.com/luoyaoquan/p/2094255.html