请问一个表单上控件焦点转移的有关问题

请教一个表单上控件焦点转移的问题
我在一个表单上设置了一个文本框和一个表格共两个控件,我的想法是在文本框中输入一串数字,回车后自动查找表格中数据。查找到表格数据用高亮颜色提示,但是焦点不离开文本框。我在text.keypress中nKey=13时在临时表中查找到数据后设置thisform.grid1.setfocus,thisform.grid1.column1.text1.setfocus,在grid1.afterrowcolchange中设置This.SetAll("DynamicBackColor",'Iif(Recno()=&lcCurrRec.,Rgb(0,128,255),Rgb(255,255,255))',"Column")颜色后将焦点转移到文本框时,thisform.text1.setfocus,后程序发生了死循环。请教高手,如何解决?

------解决方案--------------------
vfp9.0
将 Grid 的 HighlightStyle 属性设为 2,并设置 Grid 的 HighlightForeColor 和 HighlightBackColor 属性。

你查找后,刷新 Grid ,然后不让焦点不离开文本框。

去掉这些
thisform.grid1.setfocus,thisform.grid1.column1.text1.setfocus,在grid1.afterrowcolchange中设置This.SetAll("DynamicBackColor",'Iif(Recno()=&lcCurrRec.,Rgb(0,128,255),Rgb(255,255,255))',"Column")颜色后将焦点转移到文本框时,thisform.text1.setfocus

然后在 文本框 的 Valid 事件写查找代码,不想让文本框失去焦点,就在此事件中 Return 0
或者还在 KeyPress 事件写代码,不想让文本框失去焦点,就在此事件中 NoDefault
------解决方案--------------------
回复4楼
用过滤条件可能没用
用SQL语句重新设置GRID1的数据源,即可达到你的目的。