上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
zlz_zb
註冊時間: 2006-03-20 文章: 11
第 1 樓
|
發表於: 星期四 四月 06, 2006 11:13 am 文章主題: 我又遇到了一个问题,还恳请大家帮忙!!! |
|
|
我的表单窗口上有一个text文本框和command命令按钮,我本是想在text中输入数据后,按回车键,让光标自动转到command上,所以在text的keypress event中写下如下代码:
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode=13
thisform.command1.setfocus
endi
没想到的是,一运行,在text中输入10份,回车后,command不但得到了焦点,还将自己的click event事件自动执行了。command中的click event 执行的是一个向表中填写记录的操作。
费解!!! |
|
回頂端 |
|
 |
garfield Site Admin

註冊時間: 2003-01-30 文章: 2160
第 2 樓
|
發表於: 星期四 四月 06, 2006 11:54 am 文章主題: |
|
|
在 thisform.command1.setfocus 之前加上一行指令
nodefault
不知可行否. _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
 |
小賴
註冊時間: 2004-12-27 文章: 476
第 3 樓
|
發表於: 星期四 四月 06, 2006 12:26 pm 文章主題: |
|
|
garfield兄的方法應該可行, 要不然試試於Text?.LostFocus
IF LASTKEY() = 13
ThisForm.Command1.SetFocus
ENDIF |
|
回頂端 |
|
 |
zlz_zb
註冊時間: 2006-03-20 文章: 11
第 4 樓
|
發表於: 星期四 四月 06, 2006 2:21 pm 文章主題: |
|
|
我试了一下garfield的办法,不行,加上这句话(nodefault)之后,text中什麽也输不进去了,我又试了一下小赖的方法,还行,我上网查了一下,找到一篇文章,觉着挺好,http://www.vfptop.com/bcxjylist.asp?id=186,有兴趣可以看看,这是我看了 garfield给我的建议后,因为不知道nodefault 是什麽,所以上网去找,结果找到这篇文章。与大家分享,不知道对你们这样的高手是否有用。谢谢大家帮忙!!这里真好,有这麽多高手。 |
|
回頂端 |
|
 |
garfield Site Admin

註冊時間: 2003-01-30 文章: 2160
第 5 樓
|
發表於: 星期四 四月 06, 2006 2:47 pm 文章主題: |
|
|
引言回覆: |
加上这句话(nodefault)之后,text中什麽也输不进去了
|
應該是你把 nodefault 放錯位置.
是放在IF nKeyCode=13 跟 thisform.command1.setfocus 之間才對. _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
 |
小賴
註冊時間: 2004-12-27 文章: 476
第 6 樓
|
發表於: 星期四 四月 06, 2006 2:59 pm 文章主題: |
|
|
garfield兄的方式, 我試過, 應沒問題(VFP9.0測), 原本我也是要提這方法的
以下是你提供文章之片段, 指的也是此方式...
還有一個命令可用於控制對像焦點的轉移,NoDefault,這條命令可阻止Visual Foxpro執行事件默認的行為。例如在用文本框輸入數據時,如果按Enter鍵,文本框會失去焦點,焦點會轉移到下一個對象。如果不想讓文本框失去焦點,可在文本框的KeyPress事件中插入一條NoDefault命令,按Enter鍵文本框也不會失去焦點。如果在NoDefault後面再加一條SetFocus命令,焦點就會轉移到你需要的對象上去。 |
|
回頂端 |
|
 |
zlz_zb
註冊時間: 2006-03-20 文章: 11
第 7 樓
|
發表於: 星期五 四月 07, 2006 2:59 pm 文章主題: |
|
|
哦,是的,我是象garfield说的,把NoDefault命令加在了
IF nKeyCode=13
thisform.command1.setfocus
endi
判断的前面.是我理解错了,包括看那篇文章,我也以为是加在外面。
我想,garfield不会介意吧,呵呵!! |
|
回頂端 |
|
 |
|