• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Dreama
只想要简简单单的快乐!
博客园    首页    新随笔    联系   管理     
Windows 窗体中的事件顺序
来自:https://docs.microsoft.com/zh-cn/dotnet/framework/winforms/order-of-events-in-windows-forms

对于依次处理其中每个事件的开发人员,Windows 窗体应用程序中引发事件的顺序非常具有吸引力。 当出现需要谨慎处理事件的情况时(例如,在重绘窗体的某些部件时),有必要了解运行时引发事件的确切顺序。 本主题提供了应用程序和控件的生存期中几个重要阶段中的事件顺序的详细信息。 有关鼠标输入事件的顺序的特定详细信息,请参阅Windows 窗体中的鼠标事件。Windows 窗体中的事件的概述,请参阅事件概述。 有关事件处理程序的构成的详细信息,请参阅事件处理程序概述。

应用程序启动和关闭事件

Form 和 Control 类公开一组与应用程序启动和关闭相关的事件。 Windows 窗体应用程序启动时,主窗体的启动事件将按照以下顺序引发:

  • Control.HandleCreated

  • Control.BindingContextChanged

  • Form.Load

  • Control.VisibleChanged

  • Form.Activated

  • Form.Shown

应用程序关闭时,主窗体的关闭事件将按照以下顺序引发:

  • Form.Closing

  • Form.FormClosing

  • Form.Closed

  • Form.FormClosed

  • Form.Deactivate

在主窗体关闭事件后,将引发 Application 类的 ApplicationExit 事件。

备注

Visual Basic 2005 包括其他应用程序事件,例如 WindowsFormsApplicationBase.Startup 和 WindowsFormsApplicationBase.Shutdown。

焦点和验证事件

当通过使用键盘(TAB、SHIFT+TAB 等),通过调用 Select 或 SelectNextControl 方法,或通过将 ActiveControl 属性设置为当前窗体来更改焦点时,Control 类的焦点事件将按以下顺序发生:

  • Enter

  • GotFocus

  • Leave

  • Validating

  • Validated

  • LostFocus

当通过使用鼠标或调用 Focus 方法更改焦点时,Control 类的焦点事件将按以下顺序发生:

  • Enter

  • GotFocus

  • LostFocus

  • Leave

  • Validating

  • Validated

请参阅

在 Windows 窗体中创建事件处理程序

posted on 2018-05-03 08:33  Dreamma  阅读(927)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3

© 本文章版权归 Dreama 所有, 转载授权请联系: cnxy@88.com

如果本文对您有帮助,欢迎支持原创

支付宝

支付宝扫码支持

微信

微信赞赏支持