作者fumizuki (小狮)
看板Visual_Basic
标题表单事件
时间Mon Apr 4 14:17:10 2005
★ 表单载入、显现、载出时会依序触发下列几个事件:
Initialize 表单初始化
Load 表单载入记忆体
Resize 表单大小变更
Activate 表单设为作用中视窗
GotFocus 表单取得焦点
Paint 表单画面重绘
QueryUnload 表单收到关闭讯息
Unload 表单载出记忆体
Terminate 表单终止化
★ 除了上述事件外,另有下列几种不会在表单载出时触发的事件:
LostFocus 表单失去焦点
Deactivate 表单设为非作用中视窗
★ 事件触发条件
GotFocus 事件
没有任何控制项的表单会取得焦点,并触发事件。
含有控制项的表单,不会取得焦点,也不会触发事件。
如果所有控制项的 Enabled 属性皆设为 False 时,表单会取得焦点,并触发事件。
LostFocus 事件
在同一个执行个体中失去焦点,焦点转到其它的表单时触发。
如果是焦点转移到其它执行个体 (例如:记事本),不会触发此事件。
Deactivate 事件与 LostFocus 事件拥有同样的特性。
Initialize 事件在程式启动到程式结束前,只会触发一次。
Timernate 事件只会在程式结束前触发。
Paint 事件,当 AutoRedraw 属性被设为 True 时,不会触发。
★ 举例说明
假设,专案中有三个表单,分别为 Form1, Form2, Form3
Form1 有个
开启按钮,按下去会打开 Form2 及 Form3
Form3 有个
关闭按钮,按下去会依序关闭 Form3, Form2, Form1
事件触发的顺序则为:
程式启动 → Form1.Initialize → Form1.Load → Form1.Resize →
Form1.Activate → Form1.Paint →
按下
开启按钮 → Form2.Initialize → Form2.Load → Form2.Resize →
Form3.Initialize → Form3.Load → Form3.Resize →
Form1.Deactivate →
Form2.Activate → Form2.GotFocus →
Form2.LostFocus → Form2.Deactivate →
Form3.Activate →
Form3.Paint →
Form2.Paint →
按下
关闭按钮 → Form3.QueryUnload → Form3.Unload →
Form2.QueryUnload → Form2.Unload →
Form1.QueryUnload → Form1.Unload →
Form1.Terminate →
Form2.Terminate →
Form3.Terminate → 程式终止
--
人若无星爷,跟条咸鱼有何分别?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.222.155.162