您的位置:程序门 -> .net技术 -> c#



请教,关于textbox控件的焦点事件顺序中,canceleventargs.cancel=true的疑惑


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


请教,关于textbox控件的焦点事件顺序中,canceleventargs.cancel=true的疑惑
发表于:2007-01-26 22:15:24 楼主
一、用鼠标点击控件,然后离开。
  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的顺序,运行两遍。这是为什么,请高手解惑。万分感谢。
发表于:2007-01-27 15:08:471楼 得分:0
不知道我有没有说明白
发表于:2007-01-27 15:19:462楼 得分:0
不管是哪一个顺序,用canceleventargs.cancel   =   true后总是会取消排在validating事件后面的其它事件.
发表于:2007-01-27 15:36:173楼 得分:0
我的疑问在于,在validating事件中设canceleventargs.cancel   =   true,当上一次按tab,本次点击鼠标试图将焦点移到别处时,lostfocus     leave   validating   enter   gotfocus这些事件都回激发两次。   为什么会发生两次呢?   我只是点击了一下鼠标啊


快速检索

最新资讯
热门点击