进入控件时:先激发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事件 |