VB6 _Validation事件在使用CausesValidation = False转到“取消”按钮时未触发

鲁拉克

我的情况类似于以下简化描述:

具有TextBox的表单(称为txtQty),用户可以在其中输入整数。事件txtQty_Validate事件用于验证用户输入,并迫使他们在更改焦点之前纠正任何错误。这与表单上的所有其他控件(除了txtQty)一起使用时效果很好我认为这是因为表单上的取消”按钮具有必须设置为false的属性CausesValidation因此,当用户从txtQty制表取消按钮(其下一个TabIndex)时,它不会适当地触发txtQty_Validation事件。

我的第一个本能是直接进入txtQty_KeyPress事件(我已经在使用事件使RETURN键充当TAB键)并捕获TAB键并临时切换CausesValidation属性以允许txtQty_Validation事件触发。但是,似乎捕获TAB密钥并不像我想象的那样容易。

有什么建议么?我认为这不可能是任何创建表单的人第一次遇到这种情况。

谢谢

吉姆·休伊特(Jim Hewitt)

您可以在“取消”GotFocus事件中尝试此操作

Dim b As Boolean

Call txtQty_Validate(b)
If b Then txtQty.SetFocus

假设你有这样的事情

Private Sub txtQty_Validate(Cancel As Boolean)
    If Not IsNumeric(txtQty.Text) Then
        Cancel = True
    End If
End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用按钮vb6复制对象

来自分类Dev

vb6在2个文本框上使用相同的按钮

来自分类Dev

VB6:使用行输入保存txt时尝试使用多个变量

来自分类Dev

强制VB6编译器在调用.net com dll时使用早期绑定

来自分类Dev

在VB6中连接到MySQL ODBC时使用ADODB.Recordset.Index

来自分类Dev

VB6使用写入#1,(UnitCount

来自分类Dev

使用VB6添加前导零?

来自分类Dev

从VB6到VB.NET的转换按钮样式

来自分类Dev

VB6使用VB.NET类-它很慢

来自分类Dev

如何延迟VB6中的LostFocus事件

来自分类Dev

VB6轮询与计时器事件

来自分类Dev

COM(VB6)事件在AutoIt中有延迟处理

来自分类Dev

Arduino按钮控制VB6形状填充颜色

来自分类Dev

AsymUp函数(舍入)未产生期望的结果-VB6

来自分类Dev

AsymUp函数(舍入)未产生期望的结果-VB6

来自分类Dev

单击VB6时使Picturebox预成型功能

来自分类Dev

在声明vb6时初始化整数值

来自分类Dev

为什么打开表单时VB6 IDE崩溃?

来自分类Dev

如何使用TSL加密强制VB6进行POST?

来自分类Dev

从VB6使用DirectShow IMediaEvent.GetEvent

来自分类Dev

如何使用vb6获取Clob数据

来自分类Dev

使用VB6的Microsoft Word报告问题

来自分类Dev

使用vb6 winsock发送python字符串

来自分类Dev

使用vb6 winsock发送python字符串

来自分类Dev

使用VB6 for SQL Server的动态DSN

来自分类Dev

使用VB6在XML中将属性写入子节点

来自分类Dev

通过使用VB6 DLL保护我的部分代码

来自分类Dev

如何使用TSL加密强制VB6进行POST?

来自分类Dev

从VB6使用DirectShow IMediaEvent.GetEvent