以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关于e.KeyCode 的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=7203)

--  作者:yankunhao
--  发布时间:2010/5/25 10:01:00
--  关于e.KeyCode 的问题

我一个窗口中有两个文本框一个窗口表,

我想在进入窗口时将光标定位到第一个文本框,输入内容后按回车键能将光标定位到第二个文本框,但我在第一个文本框中的KeyDown事件中代码为

if e.KeyCode = Keys.enter Then
Forms("自动录入").Controls("TextBox2").Select()
end if

 

发现光标定位到窗口表中了,另外我在第二个文本框的KeyDown事件代码为

 

Dim tbl As Table = Tables("自动录入_Table1")
If e.KeyCode = Keys.Up Then
    tbl.Position = tbl.Position - 1
    e.Cancel = True
ElseIf e.KeyCode = Keys.Down Then
    tbl.Position = tbl.Position + 1
    e.Cancel = True
ElseIf e.KeyCode = Keys.Enter Then
    If tbl.Current IsNot Nothing Then
        If e.Control = False Then
            Tables("工资录入表").Current("工序规格码") = tbl.Current("工序规格码") \'单行写入的代码
        Else
            For Each r1 As Row In Tables("自动录入_Table1").GetCheckedRows
                Dim r2 As Row  = Tables("工资录入表").AddNew()
                r2("工序规格码") = r1("工序规格码")
            Next

        End If
    End if
    e.Form.Close()
End if
if e.KeyCode = Keys.Escape
 e.Form.Close()
End if

 

请问这是为什么呢,真的不明白!

[此贴子已经被作者于2010-5-25 10:01:22编辑过]

--  作者:狐狸爸爸
--  发布时间:2010/5/25 10:04:00
--  
做个简单例子
--  作者:yankunhao
--  发布时间:2010/5/25 10:10:00
--  

我将第一个代码:

if e.KeyCode = Keys.enter Then
Forms("自动录入").Controls("TextBox2").Select()
end if

改为:

if e.KeyCode = Keys.enter Then
Forms("自动录入").Controls("TextBox1").Select()
e.Cancel = True
end if

这样就可以了,呵呵


--  作者:狐狸爸爸
--  发布时间:2010/5/25 10:44:00
--  

表扬一下

图片点击可在新窗口打开查看