新手问“vb中使用Show方法显示窗体时,一定触发Load事件”对吗,说明理由
展开全部
此种说法错误!
实验证明:
这里有两个窗体,Form1中命令按钮中的代码使用了两次show方法,而在Form2中Load事件的语句会使得该事件发生时弹出提示框,根据代码应该会弹出两次对话框,但是实际运行时只弹出了一次,因此命题错误!(楼主可将代码中的Form2.Hide 换成Unload Form2再试试区别)
解释:
MSDN:【如果调用 Show 方法时指定的窗体没有装载,Visual Basic 将自动装载该窗体。】
以上说明了装载事件触发不是必然的,原因就在此。
Hide方法可使窗口隐藏,但是其并没有注销,只是将其Visible属性设置为False而已,而再次调用Show同样只是更改这个属性,何谈重新装载?更何谈Load事件?
展开全部
load 只是将窗体调入内存并没有将窗体显示出来,需通过show方法来显示,当使用load时将触发窗体的load事件过程。
show 是将窗体调入内存并显示,同样也会触发窗体的load事件过程。
hide 是将窗体进行隐藏,不是从内存中将其释放,窗体此时还占用系统资源。
uload 是将窗体从内存释放,此时窗体已被卸载,不再占有系统资源。
用unload form后form所用的资源就会全部释放,
下一次load form的时候所有form内的控件会重新初始化,重新载入内存
show 是将窗体调入内存并显示,同样也会触发窗体的load事件过程。
hide 是将窗体进行隐藏,不是从内存中将其释放,窗体此时还占用系统资源。
uload 是将窗体从内存释放,此时窗体已被卸载,不再占有系统资源。
用unload form后form所用的资源就会全部释放,
下一次load form的时候所有form内的控件会重新初始化,重新载入内存
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是的,一定会触发load事件,只有load窗体后,show才算是执行完成。
更多追问追答
追问
书上说是错的
懂了,当load完毕,隐藏窗体后,再用show显示出来的过程,窗体已经在内存中装载完毕,不用再次load了,所以不一定
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是吧,load是装载,show是打开窗体
更多追问追答
追问
(⊙o⊙)…书上说不对……
追答
额,求照片
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询