对于一个控件来说,事件的顺序是 When、GotFocus、Valid、LostFocus。
对于两个独立的TextBox来说,我们假定当前活动控件为A,现在单击控件B,使B获得焦点,则事件的顺序为:A.Valid、B.When、A.LostFocus、B.GotFocus。一定要注意:B控件的When事件发生在上一个控件A的LostFocus之前。
对于一个是Text1,另一个是Grid1.Column1.Text1来说,情况确实有所不同:
1. 将焦点由Text1 切换到 Grid1.Column1.Text1,则事件的发生顺序是:
Text1.Valid
Text1.LostFocus
Grid.Text1.When
Grid.Text1.GotFocus
2. 将焦点由Grid1.Column1.Text1 切换到 Text1,则事件的发生顺序是:
Text1.When
Grid.Text1.Valid
Grid.Text1.LostFocus
Text1.GotFocus
由此来看,表格中的文本框的事件发生顺序与两个独立的文本框有很大的不同,确实不好理解,只能作特殊情况处理。
对于两个独立的TextBox来说,我们假定当前活动控件为A,现在单击控件B,使B获得焦点,则事件的顺序为:A.Valid、B.When、A.LostFocus、B.GotFocus。一定要注意:B控件的When事件发生在上一个控件A的LostFocus之前。
对于一个是Text1,另一个是Grid1.Column1.Text1来说,情况确实有所不同:
1. 将焦点由Text1 切换到 Grid1.Column1.Text1,则事件的发生顺序是:
Text1.Valid
Text1.LostFocus
Grid.Text1.When
Grid.Text1.GotFocus
2. 将焦点由Grid1.Column1.Text1 切换到 Text1,则事件的发生顺序是:
Text1.When
Grid.Text1.Valid
Grid.Text1.LostFocus
Text1.GotFocus
由此来看,表格中的文本框的事件发生顺序与两个独立的文本框有很大的不同,确实不好理解,只能作特殊情况处理。
[此贴子已经被作者于2015-10-27 09:02编辑过]
泉城飞狐