以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  帮助中的自定义录入界面代码是否有误?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=7177)

--  作者:yankunhao
--  发布时间:2010/5/22 16:31:00
--  帮助中的自定义录入界面代码是否有误?

3、将TextBox1的KeyDown事件代码设为:

Dim tbl As Table = Tables("窗口1_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
   
    Tables("订单").Current("客户ID") = tbl.Current("客户ID")
    End
if
    e.Form.Close()

End
If

这样在文本框中按上下箭头键,可以在Table中选择不同的行,按回车键会将选定行的客户ID输入到订单表的当前行中。
为了避免按上下箭头键的时候,文本框的光标会移动,下面的代码是必须的:   
e.Cancel =
True

 

我按照帮助所说的去做,发现当在TABLE中选择回车时,这时发生的KeyDown事件应该不在TextBox1了,而应该在TABLE中


--  作者:blackzhu
--  发布时间:2010/5/22 16:39:00
--  
首先一个,这个窗口的表好像必须是副本,另外应该可以利用文本框筛选回车输入的.
--  作者:狐狸爸爸
--  发布时间:2010/5/22 16:42:00
--  

帮助没有错,你说的也没有错,帮助考虑的就是在文本框录入和按键。

如果你觉得不够用,可以自己补充代码,例如在给Table加上KeyDown事件。

代码是灵活的,既要理解帮助中示例代码的逻辑,也不要被其约束思路,编程没有定式。

[此贴子已经被作者于2010-5-22 16:44:37编辑过]