Winforms 为什么鼠标离开时文本框会起火?

Winforms 为什么鼠标离开时文本框会起火?,winforms,Winforms,我认为Leave应该在控件失去焦点时启动,MouseLeave应该在鼠标不再在控件中时启动 我有一个文本框,如果我点击它,然后取出鼠标,离开事件就会触发。我使用Leave来验证框中的条目,比如当人们点击tab键转到下一个控件时 这是否意味着文本框不能有焦点,除非鼠标仍在其中?鼠标是否在其中并不重要。属性焦点是指另一种类型的事件,当组件准备更改其值时,使用键盘或鼠标无关紧要。当文本框失去焦点时,为什么不验证文本框值?鼠标是否在其中并不重要。属性焦点是指另一种类型的事件,当组件准备更改其值时,使用键

我认为Leave应该在控件失去焦点时启动,MouseLeave应该在鼠标不再在控件中时启动

我有一个文本框,如果我点击它,然后取出鼠标,离开事件就会触发。我使用Leave来验证框中的条目,比如当人们点击tab键转到下一个控件时


这是否意味着文本框不能有焦点,除非鼠标仍在其中?

鼠标是否在其中并不重要。属性焦点是指另一种类型的事件,当组件准备更改其值时,使用键盘或鼠标无关紧要。当文本框失去焦点时,为什么不验证文本框值?

鼠标是否在其中并不重要。属性焦点是指另一种类型的事件,当组件准备更改其值时,使用键盘或鼠标无关紧要。当文本框失去焦点时,为什么不验证文本框值?

您必须有一些其他代码设置焦点,因为当鼠标移出控制时,Leave不会触发。

您必须有一些其他代码设置焦点,因为当鼠标移出控件时,Leave不会触发。

您不应该使用Leave或LostFocus进行验证,而应该使用专门为验证场景设计的

通过这种方式,例如,如果您想使用“取消”按钮,您可以将其CausesValidation属性设置为false,并且编辑器控件验证事件将不会触发。

您不应使用Leave或LostFocus进行验证,而应使用专为验证场景设计的


这样,如果您想有一个取消按钮,例如,您可以将其CausesValidation属性设置为false,编辑器控件验证事件将不会触发。

这就是我要做的。我以为离开事件应该在文本框失去焦点时触发。发生的事情是,当鼠标离开控件时,Leave事件也会触发。是的!这就是我试图解释的,对不起!在Focus事件lost Focus event中键入巡更验证代码这就是我要做的。我以为离开事件应该在文本框失去焦点时触发。发生的事情是,当鼠标离开控件时,Leave事件也会触发。是的!这就是我试图解释的,对不起!在焦点事件中键入巡更验证代码丢失焦点事件我将检查。。。是的,还有另一个控件关注MouseEnter,这会导致文本框离开。谢谢5分钟后我会接受的。我会去检查。。。是的,还有另一个控件关注MouseEnter,这会导致文本框离开。谢谢将在5分钟结束后接受。