日期:2014-05-19  浏览次数:20852 次

简单问题:焦点离开事件
我做了一个窗体,里面有textbox.由于要验证textbox输入是否符合要求,我在textbox里加了Leave事件,在这里验证输入是否正确,如果不正确会提示。但是我想当焦点从textbox直接移到buttoncancel上时,textbox内容就算有错也不要提示消息(也就是不要出现Leave事件了)。要怎么改?

------解决方案--------------------
在Leave事件里加上
if (!buttoncancel.Focused)
{
//验证代码
}
------解决方案--------------------
使用Validating 而去掉Leave事件。

使用控件的CausesValidation属性来决定是否在控件要失去焦点时执行Validating事件。

我觉得我说的挺清楚了。