首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请问,关于textbox控件的焦点事件顺序中,CancelEventArgs.Cancel=true的疑惑

2012-01-15 
请教,关于textbox控件的焦点事件顺序中,CancelEventArgs.Canceltrue的疑惑一、用鼠标点击控件,然后离开。  

请教,关于textbox控件的焦点事件顺序中,CancelEventArgs.Cancel=true的疑惑
一、用鼠标点击控件,然后离开。
  Enter     GotFocus     LostFocus     Leave     Validating     Validated

二、用鼠标,当 Validating 中   CancelEventArgs.Cancel   =   true   时:
  Enter     GotFocus     LostFocus     Leave     Validating     Enter     GotFocus
  
三、用tab键经过一个控件时。
  Enter     GotFocus     KeyUp     Leave     Validating     Validated     LostFocus
  
四、用tab键当 Validating 中   CancelEventArgs.Cancel   =   true   时
  Enter     GotFocus     KeyUp     Leave     Validating     Enter     KeyUp

以上这些都没有问题,问题是:Validating中CancelEventArgs.Cancel   =   true,且当上一次用tab键经过,本次用鼠标点击别处离开时,会按照Lostfocus     Leave   Validating   Enter   GotFocus的顺序,运行两遍。这是为什么,请高手解惑。万分感谢。

[解决办法]
不管是哪一个顺序,用CancelEventArgs.Cancel = true后总是会取消排在Validating事件后面的其它事件.

热点排行