Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4644|回复: 2

[已解决]窗体控件的不明白

[复制链接]
发表于 2014-8-2 09:24 | 显示全部楼层 |阅读模式
5学分
本帖最后由 969341591 于 2014-8-2 10:35 编辑

在vb中,对于窗体的Load事件和Initialize事件的区别一直不明白,请求解释!
最佳答案
2014-8-2 09:41
来两个测试代码

  1. Private Sub Form_Initialize()
  2.     MsgBox "这是初始化Initialize事件!"
  3. End Sub

  4. Private Sub Form_Load()
  5.     MsgBox "这是Load事件!"
  6. End Sub
复制代码
以上程序是 initialize事件先执行,原因很简单,加载事件嘛,肯定是先加载

接下来看后面的

  1. Private Sub Form_Initialize()
  2.     Call Move((Screen.Width - Width) / 2, (Screen.Height - Height) / 2)
  3.     MsgBox "这是初始化Initialize事件!"
  4. End Sub

  5. Private Sub Form_Load()
  6.     Form1.Width = 8000
  7.     Form1.Height = 8000
  8.     MsgBox "这是Load事件!"
  9. End Sub
复制代码
结果这里先弹出了 这是load事件,为啥呢?

因为产生Initialize事件时,还没有窗体, 所以你的move窗体代码,就被暂缓,
直到load事件完成,窗体加载并显示出来后,才被执行, 随后来执行了下面的一行msgbox



















excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-8-2 09:41 | 显示全部楼层    本楼为最佳答案   
来两个测试代码

  1. Private Sub Form_Initialize()
  2.     MsgBox "这是初始化Initialize事件!"
  3. End Sub

  4. Private Sub Form_Load()
  5.     MsgBox "这是Load事件!"
  6. End Sub
复制代码
以上程序是 initialize事件先执行,原因很简单,加载事件嘛,肯定是先加载

接下来看后面的

  1. Private Sub Form_Initialize()
  2.     Call Move((Screen.Width - Width) / 2, (Screen.Height - Height) / 2)
  3.     MsgBox "这是初始化Initialize事件!"
  4. End Sub

  5. Private Sub Form_Load()
  6.     Form1.Width = 8000
  7.     Form1.Height = 8000
  8.     MsgBox "这是Load事件!"
  9. End Sub
复制代码
结果这里先弹出了 这是load事件,为啥呢?

因为产生Initialize事件时,还没有窗体, 所以你的move窗体代码,就被暂缓,
直到load事件完成,窗体加载并显示出来后,才被执行, 随后来执行了下面的一行msgbox



















回复

使用道具 举报

 楼主| 发表于 2014-8-2 10:35 | 显示全部楼层
无聊的疯子 发表于 2014-8-2 09:41
来两个测试代码以上程序是 initialize事件先执行,原因很简单,加载事件嘛,肯定是先加载

接下来看后面的结 ...

谢谢你,我还得消化.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-24 08:41 , Processed in 0.252371 second(s), 4 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表