vb文本框控件数组的问题。

来源:百度知道 编辑:UC知道 时间:2024/05/14 02:39:02
有一个文本框控件数组,我想让前一个输入一个字符之后就自动把光标定在下一个上,用到了以下代码:
Private Sub Text1_Change(Index As Integer)
Text1(Index+1).SetFocus
End Sub
运行时提示无效的过程调用(先不考虑下标越界的问题)。
如果要实现这样的目的应该如何改代码呢?
还是在文本框的change事件中干脆就不能进行设置焦点的操作?

不好意思 我昨晚后来想了下 我的回答是错误的
于是打开vb试验了下
成功了
我是添加了三个text控件组成数组
然后用以下代码 成功了呀

Private Sub Form_Load()

End Sub

Private Sub Text1_Change(Index As Integer)
If Index = 2 Then Exit Sub
Text1(Index + 1).SetFocus
End Sub
就是遇到了数组越界的问题
加了中间的判断语句就没问题了
没有无效过程调用什么的提示啊?

以下是第一次回答:
估计是过程名称上出了问题
因为你用的是控件数组
而过程命名当中是text1_change
:-)
vb我不懂
这个是瞎猜猜的

我估计可以在总的过程当中加入判断语句
比如
if me change then text1(index+1).setfocus
^_^

代码没有问题,跟踪一下是在哪句上"无效的过程调用"

不考虑下标越界的话,代码完全没问题。是不是你自己把文本框改了名,代码里忘了改成一样的了?

我也在vb中试了这个代码,提示无效的过程调用或参数
然后我把设置焦点的操作换成了,修改数组中其他控件的内容,就成功了,我估计是真的不能进行设置焦点的操作,或许是方法不对。
后来我又测试了用其他控件包括其他控件数组的事件对text控件数组进行焦点设置,成功了。这样是不是就能得出不能对本数组内控件进行焦点设置操作的结论?