我有一个VB6表单,其中包含最小值和最大值的文本框。文本框的MaxLength为4,我有keyPress事件的代码将其限制为数字输入。代码检查以确保max> min,但它表现得非常奇怪。它似乎是在比较科学记数法或其他东西的价值观。例如,它评估30> 200 =真,100> 20 =错误。但是,如果我将条目更改为030> 200和100> 020,然后它给了我正确的答案。有谁知道为什么会以这种方式行事?
我的代码如下,我使用控制数组作为最小和最大文本框。
For cnt = 0 To 6
If ParameterMin(cnt) > ParameterMax(cnt) Then
MsgBox ("Default, Min, or Max values out of range. Line not updated.")
Exit Sub
End If
Next cnt
答案 0 :(得分:2)
这就是文本比较对于表示为可变长度文本的数字的行为(一般而言,不仅仅是VB6)。
OR
答案 1 :(得分:0)
如果我理解正确,您可以将代码更改为
如果Val(ParameterMin(cnt))> Val(ParameterMax(cnt))然后
我想建议一件事 - (恕我直言......)如果可能的话,避免在key_press / key_up / key_down期间检查数据。
您可以更改GUI以包含“提交”按钮并检查您的“表单”吗?
希望我帮助过......