静态网站建设的技术运用,上海网站企业,珠海seo网站建设,360建筑网怎样取消发布的消息对于关注对 Windows 窗体应用程序中引发的每个事件按次序进行处理的开发人员来说#xff0c;事件引发的顺序特别重要。 当 Windows 窗体应用程序启动时#xff0c;主窗体的启动事件按以下顺序引发 1、System.Windows.Forms.Control.HandleCreated 在为控件创建句柄时发生…对于关注对 Windows 窗体应用程序中引发的每个事件按次序进行处理的开发人员来说事件引发的顺序特别重要。 当 Windows 窗体应用程序启动时主窗体的启动事件按以下顺序引发 1、System.Windows.Forms.Control.HandleCreated 在为控件创建句柄时发生 2、System.Windows.Forms.Control.BindingContextChanged 当 BindingContext 属性的值更改时发生 注每个 Windows 窗体至少有一个 BindingContext 对象详见MSDN 3、System.Windows.Forms.Form.Load 在第一次显示窗体前发生 4、System.Windows.Forms.Control.VisibleChanged 在 Visible 属性值更改时发生 注如果通过编程修改或用户交互更改 Visible 属性则将引发此事件 5、System.Windows.Forms.Form.Activated 当使用代码激活或用户激活窗体时发生 6、System.Windows.Forms.Form.Shown 只有在首次显示窗体时才会引发 Shown 事件随后执行的最小化、最大化、还原、隐藏、显示或无效化和重新绘制操作都不会引发该事件。 当应用程序关闭时主窗体的关闭事件按以下顺序引发 1、System.Windows.Forms.Form.Closing 在关闭窗体时发生 注意在 .NET Framework 版本 2.0 中Closing 事件已过时应改用 FormClosing 事件。 2、System.Windows.Forms.Form.FormClosing 在关闭窗体前发生此时可以取消窗体的关闭。 3、System.Windows.Forms.Form.Closed 关闭窗体后发生 注意在 .NET Framework 版本 2.0 中Closed 事件已过时应改用 FormClosed 事件。 4、System.Windows.Forms.Form.FormClosed 关闭窗体后发生 5、System.Windows.Forms.Form.Deactivate 当窗体失去焦点并不再是活动窗体时发生 注意当调用 Application.Exit 方法以退出应用程序时不引发 Form.Closed 和 Form.Closing 事件但是会激发 Form.FormClosed 和 Form.FormClosing 事件。 FormClosing 在窗体关闭时FormClosing 事件发生。窗体关闭时此事件会得到处理从而释放与此窗体关联的所有资源。如果取消此事件则该窗体保持打开状态。若要取消窗体的关闭操作请将传递给事件处理程序的 FormClosingEventArgs 的 Cancel 属性设置为 true。 FormClosed 在用户或 Application 类的 Close 方法或 Exit 方法关闭窗体后会发生 FormClosed 事件。 若要防止窗体关闭请处理 FormClosing 事件并将传递给事件处理程序的 CancelEventArgs 的 Cancel 属性设置为 true。可以使用此事件执行一些任务如释放窗体使用的资源还可使用此事件保存输入窗体中的信息或更新其父窗体。 当窗体显示为模式对话框时单击“关闭”按钮窗体右上角带 X 的按钮会隐藏窗体并将 DialogResult 属性设置为 DialogResult.Cancel。通过在窗体的 FormClosing 事件的事件处理程序中设置 DialogResult 属性可以在用户单击“关闭”按钮时重写分配给 DialogResult 属性的值。 如果窗体是多文档界面 (MDI) 父窗体则在引发 MDI 父窗体的 FormClosing 事件之前将引发所有 MDI 子窗体的 FormClosing 事件。同样在引发 MDI 父窗体的 FormClosed 事件之前将引发所有 MDI 子窗体的 FormClosed 事件。取消 MDI 子窗体的 FormClosing 事件不能防止引发 MDI 父窗体的 FormClosing 事件。但是取消该事件会将作为参数传递给父窗体的 FormClosingEventArgs 类的 Cancel 属性设置成 false。要强制关闭所有 MDI 父窗体和子窗体请将 MDI 父窗体中的 Cancel 属性设置成 false。 窗体显示为无模式对话框时在close之后此窗体的资源已释放不能再调用show方法使窗体可见。 窗体显示为有模式对话框时单击 关闭 按钮 ( X 的按钮在窗体的右上角) 会隐藏窗体并且DialogResult 属性将设置为 DialogResult.Cancel。 当用户单击该对话框的关闭的窗体按钮或设置 DialogResult 属性的值时 .NET framework不调用Close 方法该窗体会隐藏并可重新显示而不必创建对话框的新实例。 由于作为对话框中显示的窗体隐藏而未关闭当窗体由应用程序时不再需要必须调用该窗体的 Dispose 方法。 在以下两种情况下调用 Close 不会释放窗体(1) 窗体是多文档界面 (MDI) 应用程序的一部分且是不可见的(2)该窗体是模式对话框。 在这些情况下需要手动调用 Dispose 来将窗体的所有控件都标记为需要进行垃圾回收。转载于:https://www.cnblogs.com/w-y-f/archive/2012/04/10/2440552.html