| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 344 人关注过本帖
标题:焦点跳转
只看楼主 加入收藏
snrtjat
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:山那边 海尽头
等 级:贵宾
威 望:22
帖 子:1115
专家分:7025
注 册:2013-1-21
结帖率:89.19%
收藏
已结贴  问题点数:20 回复次数:2 
焦点跳转
我有60个textbox控件数组,焦点是从text1(0)到text1(59);
程序代码:
private sub text1_keypress(index as integer,keyascii as integer)
if keyascii=13 then
   text1(index+1).setfocus
   if index=59 then text1(0).setfocus
end if
end sub
现在的问题是:当我的光标第二次定位到text1(0)时,输入信息时第一个字符要按两次才能输入进去.
为什么? 谁能帮我解决一下?
其它的textbox没有这个问题{text1(1)到text1(59)}
2013-08-22 17:15
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:20 
程序代码:
Private Sub text1_keypress(index As Integer, keyascii As Integer)
'On Error Resume Next
If keyascii = 13 Then
    If index = 59 Then
        Text1(0).SetFocus
    Else
        Text1(index + 1).SetFocus
    End If
End If
End Sub



没发现你说的情况啊。
-------
你的代码有点小问题。会报 元素 60 不存在。


---------
载入 1-59 个文本框的代码。
程序代码:
Dim i As Long
For i = 1 To 59
    Load Text1(i)
    With Text1(i)
        .Left = Text1(i - 1).Left + .Width
        If .Left + .Width + 120 > Me.ScaleWidth Then
            .Top = Text1(i - 1).Top + .Height
            .Left = 120
        Else
            .Top = Text1(i - 1).Top
        End If
        .Visible = True
    End With
Next i

授人于鱼,不如授人于渔
早已停用QQ了
2013-08-22 18:33
snrtjat
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:山那边 海尽头
等 级:贵宾
威 望:22
帖 子:1115
专家分:7025
注 册:2013-1-21
收藏
得分:0 
谢谢风老师,我的code里有使用快捷键来调用运行的,刚刚才到找问题,就是在调用的时候出现了焦点输入问题,现在已经解决了,非常感谢您的解答!

不怕错误,只怕知错不改.
2013-08-23 11:22
快速回复:焦点跳转
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033672 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved