当前位置:编程学习 > C#/ASP.NET >>

leave事件和validated事件

c# winform
如题,这两个事件虽然意义不同,但都是光标离开时触发。
求本质区别 c# --------------------编程问答-------------------- 一个是窗体由活动变为不活动时触发
一个是成功验证控件后触发。
两个本质根本就不同的事件 --------------------编程问答--------------------
引用 1 楼 gxingmin 的回复:
一个是窗体由活动变为不活动时触发
一个是成功验证控件后触发。
两个本质根本就不同的事件


你说的验证控件,不也是光标离开之后才触发的么。触发不都是一样么 --------------------编程问答-------------------- 这是哪跟哪啊? --------------------编程问答-------------------- Control..::.Validated 事件
备注 
当通过使用键盘(Tab、Shift+Tab 等)、通过调用 Select 或 SelectNextControl 方法或者通过将 ContainerControl..::.ActiveControl 属性设置为当前窗体等方式更改焦点时,

ControlLeave 事件
当通过使用键盘(Tab、Shift+Tab 等)、通过调用 Select 或 SelectNextControl 方法或者通过将 ContainerControlActiveControl 属性设置为当前窗体等方式更改焦点时,

这不是一样的么。。 求解释。 --------------------编程问答-------------------- --------------------编程问答-------------------- 两个事件本来就不关联,验证是验证,控件失去焦点是另一个。
可能控件设置了自动验证,失去焦点的时候会触发验证。控件好像还有个Validating 事件吧,如果指示验证失败,根本就不会触发Validated事件的。

//下面的代码你能说E1和E2有可比性么
public class Demo
{
   public evnet EventHandler E1;
   public evnet EventHandler E2;
   
   private void 触发E1();
   private void 触发E2(){触发E1();}
}

--------------------编程问答-------------------- 两个事件是不同的,这点我认同。
但是触发条件也是相同的啊,我可以在leave事件中做验证,也可以在validated中做其他处理不是么。
是不是我进入什么误区了,求解释 --------------------编程问答--------------------
引用 7 楼 zj84604741 的回复:
两个事件是不同的,这点我认同。
但是触发条件也是相同的啊,我可以在leave事件中做验证,也可以在validated中做其他处理不是么。
是不是我进入什么误区了,求解释

不错,leave事件中的确可以验证当前的内容是不是想要的内容
validated也可以处理其他的,但是leave是控件不是活动控件的时候触发,validated是成功验证控件之后触发
就像textbox,键盘事件和change都可以检查或屏蔽特殊字符,但他们压根就不是一码事
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,