为什么TextBox在鼠标离开时会离开?

时间:2011-12-02 14:44:10

标签: winforms

我认为当控件失去焦点时,Leave应该会触发,当鼠标不再出现在控件中时,MouseLeave应该会触发。

我有一个TextBox,如果我点击它,然后将鼠标移开,Leave事件就会触发。我正在使用Leave来验证框中的条目,例如当人们按Tab键转到下一个控件时。

这是否意味着TextBox无法拥有焦点,除非鼠标保留在其中?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

您不应该使用LeaveLostFocus进行验证,而应使用专为验证方案设计的TextBox.Validating

这样,如果您想要一个Cancel按钮,则可以将其CausesValidation属性设置为false,并且不会触发编辑器控件Validating事件。

答案 2 :(得分:0)

鼠标是否在其中并不重要。 Property Focus是指另一种类型的事件,当组件准备好更改其值时,如果使用键盘或鼠标则无关紧要。为什么不在Textbox失去焦点时验证TextBox值?