leave事件和validated事件
c# winform如题,这两个事件虽然意义不同,但都是光标离开时触发。
求本质区别 c# --------------------编程问答-------------------- 一个是窗体由活动变为不活动时触发
一个是成功验证控件后触发。
两个本质根本就不同的事件 --------------------编程问答--------------------
你说的验证控件,不也是光标离开之后才触发的么。触发不都是一样么 --------------------编程问答-------------------- 这是哪跟哪啊? --------------------编程问答-------------------- 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中做其他处理不是么。
是不是我进入什么误区了,求解释 --------------------编程问答--------------------
不错,leave事件中的确可以验证当前的内容是不是想要的内容
validated也可以处理其他的,但是leave是控件不是活动控件的时候触发,validated是成功验证控件之后触发
就像textbox,键盘事件和change都可以检查或屏蔽特殊字符,但他们压根就不是一码事
补充:.NET技术 , C#