VBA通过限制焦点验证控件数据

2016-01-08 00:42 阅读 18 次 评论关闭

Validate 事件和 CausesValidation 属性是在允许用户将焦点移开控件之前,串联使用以确认对控件的输入的。例如:假设有几个文本框和一个 Help 按钮的应用程序,当每个文本框接收焦点时,您想在文本框的特殊验证准则被满足之前阻止用户移动焦点;然而,您也想允许用户在任何时候都能单击 Help 按钮。 要做到这点,在 Validate 事件中设置验证准则,并将 Help 按钮的 CausesValidation 属性设置为 False。假如属性设置为 True (缺省设置),Validate 事件将在第一个控件上发生。假如属性设置为 False,在第一个控件上的 Validate 事件将抢先发生。

Validate 事件比 LostFocus 事件更适合验证数据输入项,因为 LostFocus 事件(按照定义)是在焦点已移动后发生。相反,通过使用Validate 事件,您能防止焦点移动到另一个控件直到验证规则被满足。

可能的使用

  • 数据输入项应用程序需要执行比 Masked Edit 控件所提供的或在业务规则中发生的有效性验证更复杂的数据输入项有效性验证。
  • 窗体需要防止用户使用 TAB 键或加速键将控件移走,直到数据已被输入到字段中。
  • 在 Internet Explorer 中运行的 ActiveX 文档需要一种方法,使用户在脚本程序化地移动焦点之前完成在窗体上的操作。
版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:VBA通过限制焦点验证控件数据 | 猎微网

评论已关闭!