Winforms文本框的失去焦点事件?

6

我应该使用哪个事件来完成这个操作?

3个回答

17

Control.LeaveControl.LostFocus

当您使用键盘(+等)、调用SelectSelectNextControl方法或将ContainerControl.ActiveControl属性设置为当前窗体时,焦点事件的发生顺序如下:
  1. Enter
  2. GotFocus
  3. Leave
  4. Validating
  5. Validated
  6. LostFocus
当您使用鼠标或调用Focus方法改变焦点时,焦点事件的发生顺序如下:
  1. Enter
  2. GotFocus
  3. LostFocus
  4. Leave
  5. Validating
  6. Validated
如果CausesValidation属性被设置为false,则ValidatingValidated事件将被抑制。

这很奇怪,当我用鼠标失去焦点时,由于某种原因,我无法触发验证事件。 - Joan Venge
有些控件可能不会触发它;同时 CausesValidation 可能被设置为 false。而且,Validated 不是一个严格的焦点事件,也就是说,你不应该将其用作“失去焦点”事件。它是用于验证目的的。 - Joey

1

控件失去焦点。


2
它没有列在文本框属性编辑器下面。你知道为什么吗? - Joan Venge
2
只是在属性编辑器中没有显示。您可以从代码后台添加它。如果像Johannes建议的那样有Control.Leave,您也可以使用它。 - Wil P
5
因为事件被标记为[BrowsableAttribute(false)], 所以它在属性窗口中不显示。 - Martin Robins

0

'Control.LostFocus'


2
它没有列在文本框属性编辑器下面。你知道为什么吗? - Joan Venge

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接