this.close和this.hide的区别

ningmengbaby 2017-08-19 11:00:01
之前做系统的时候关闭窗体都是用的this.closing,后来就发生一种情况,主窗体关闭了但是他的子程序还在,当时不知道怎么回事,后来觉得是close的原因,请问close和hide有什么区别呢?
...全文
646 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
knums 2017-08-27
  • 打赏
  • 举报
回复
没你们说的这么麻烦! 想要关闭应用程序(包括关闭该应用程序的一切窗体)?实在太简单了—— Application.Exit() 一句代码而已,所有与该应用程序有关的都会关闭!
清晨曦月 元老 2017-08-27
  • 打赏
  • 举报
回复
在VB.NET编程中有些人会使用主窗体这个概念,即启动窗体,默认情况下,启动窗体被关闭时会通知其他窗体关闭,从而应用程序退出。 但是,在一些情况下,即使启动窗体关闭并通知了其他窗体,整个应用程序可能不会退出: 有的线程在工作而并没有关闭:例如有些窗体中的循环“假死”了,或者你所启动的线程若没有完成工作,则需要自己关闭。 另外,就是编程过程中的逻辑思维问题,有时候一些人会使用“初始屏幕”或登录窗体,并且程序的mainfrom就是他们,在展示这些窗体之后,使用hide进行隐藏,这样可以避免主窗体代码被加载,但这样做工作界面关闭时mianfrom并没有关闭,也不会通知其他窗体关闭,需要在fromclosed或fromcolosing事件中写入代码使得mianfrom关闭,例如My.Application.SplashScreen.Close()。 当然,还可能有一些有意思的情况,例如把一个控件设置到另一个应用的界面上,使用了某些特别的API等…… 如果就这两个方法的区别说,那涉及到的问题有很多,包括资源回收,激发的事件等等,这些你可以自己查看一下基础书籍或者MSDN。
  • 打赏
  • 举报
回复
至于说你的问题中你说“主窗体关闭了但是他的子程序还在”于是把 hide 给提起来了,那其实是毫无联系的,好像在做梦。逻辑性不强。所以没法回答。
  • 打赏
  • 举报
回复
一个窗体打开另外一个窗体,本来就没有什么“技术上的”父子关系。我们都是从业务逻辑上来说的“父子关系”,而已! 如果你一定要关闭子窗体,那么你在父窗体的 Closing 事件中,就应该去自己去关闭子窗体。
exception92 2017-08-19
  • 打赏
  • 举报
回复
通俗点,close关闭了不表示应用程序退出,而是窗口自身关闭。hide只是隐藏,窗口依旧存在。

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧