论语的地位:vb中,end 和 unload 的区别?

来源:百度文库 编辑:中科新闻网 时间:2024/05/06 10:41:13
第一个问题:

form.show 应该和 form.visible=true 效果一样
form.hide 应该和 form.visible=false 效果一样
是否?

第二个问题:

load form 有什么作用?一般在什么场合适合用?

第三个问题:

unload form 和 end 都可以把窗口卸载掉,那个更彻底?两者的区别?

-----------------------
一直没有详细比较过这几个命令,平时都是乱用,现在想彻底搞清楚,烦劳各位高手赐教。

End 语句
结束一个过程或块。
语法
End
End Function
End If
End Property
End Select
End Sub
End Type
End With
注意 End 语句不调用 Unload、QueryUnload、或
Terminate 事件或任何其它 Visual Basic 代码,只是生硬地终止代码执行。
Unload 语句
从内存中卸载窗体或控件。
在卸载窗体前,会发生 Query_Unload 事件过程,然后是 Form_Unload 事件过程。在其中任一过程中设置 cancel 参数为 True 可防止窗体被卸载。若为
MDIForm 对象,先发生 MDIForm 对象的 Query_Unload 事件过程,接着是各 MDI 子窗体 的 Query_Unload 事件过程和 Form_Unload
事件过程,最后是 MDIForm 对象的 Form_Unload 事件过程。
注意 在卸载窗体时,只有显示的部件被卸载。和该窗体模块相关联的代码还保持在内存中。

Unload 语句
从内存中卸载窗体或控件。
在卸载窗体前,会发生 Query_Unload 事件过程,然后是 Form_Unload 事件过程。在其中任一过程中设置 cancel 参数为 True 可防止窗体被卸载。若为 MDIForm 对象,先发生 MDIForm 对象的 Query_Unload 事件过程,接着是各 MDI 子窗体 的 Query_Unload 事件过程和 Form_Unload 事件过程,最后是 MDIForm 对象的 Form_Unload 事件过程。

End 语句
结束一个过程或块。

End 语句不调用 Unload、QueryUnload、或 Terminate 事件或任何其它 Visual Basic 代码,只是生硬地终止代码执行。窗体和类模块中的 Unload、QueryUnload、和 Terminate 事件代码未被执行。类模块创建的对象被破坏,由 Open 语句打开的文件被关闭,并且释放程序所占用的内存。其它程序的对象引用无效。

End 语句提供了一种强迫中止程序的方法。Visual Basic 程序正常结束应该卸载所有的窗体。只要没有其它程序引用该程序公共类模块创建的对象并无代码执行,程序将立即关闭。

一、效果完全一样
二、经常使用,使用Load先载入到内存,而不显示;而使用SHOW方法则窗体立刻会显示出来!
三、使用END时不会通知程序的form_Unload过程,程序直接结束,而使用Unload form时会运行程序的form_unload

一、效果应该是一样的
二、一般很少用,都是form1.show 除非用动态创建的窗体
三、end是退出整个程序了,而unload form只是释放当前窗休就是从内存中释放出来,而form.hide虽然用户是看不到窗体但是它并没有从内存中释放。