Visual Basic中Unload和End引发的思考

概述

最近机房收费系统中,经常会有:Unload Me、End、Exit Sub这样的语句出现,简单说我知道他的意思,但是要说出个所以然来,我还真的有点为难。那么他们到底是什么关系呢?各自又都有着那些作用呢?下面我们就来一一解决And分析。

Unload 语句

语法:Unload Object

  • VB使用Unload语句来卸载form对象或控件;
  • object所在的地方时要卸载的form对象或控件数组元素的名称;

  • Unload语句从内存中卸载窗体扩控件

    *注意:该情况只有在运行时添加到窗体上的控件数组元素才能用Unload语句卸载,重新加载被卸载的控件时,其属性会被重新初始化。
    在卸载窗体前,会发生 Query_Unload 事件过程,然后是 Form_Unload 事件过程。在其中任一过程中设置 cancel 参数为 True 可防止窗体被卸载。
    若为 MDIForm 对象,先发生 MDIForm 对象的 Query_Unload 事件过程,接着是各 MDI 子窗体 的 Query_Unload 事件过程和 Form_Unload 事件过程,最后是 MDIForm 对象的 Form_Unload 事件过程。*

End 语句

语法:End Function、end if…….

  • End语句不调用 Unload、QueryUnload、或 Terminate 事件或任何其它 Visual Basic 代码,只是生硬地终止代码执行。

  • End是强制结束整个程序

  • End是强制关闭,不会发生Form_Unload和Form_Terminate事件,而Unload Me关闭前会发生上面个事件。

Exit sub语句

  • Exit Sub 是在过程内代码执行时,可选择性的退出过程执行(即不执行Exit sub之后的代码,相当于中途退出的意思),这不是必须的。

  • End sub 是一个过程的结束代码(每一个SUB中必须对应一个END SUB)

关系

End >Unload Me >Exit Sub

总结

以上内容是我对他们的认识,有不足的地方希望大佬们能够指点。

你可能感兴趣的:(————【VB机房系统】,项目实战——机房收费系统)