上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
joyjoy
註冊時間: 2003-09-29 文章: 24
第 1 樓
|
發表於: 星期五 四月 15, 2005 7:23 pm 文章主題: 請問:setfocus()與valid() |
|
|
各位前輩您們好!
我對一個thisform.grid.column1.text1 作 setfocus()時 (thisform.grid.column1.text1.setfocus()),
它會引發自身的valid() (thisform.grid.column1.text1.valid()),
我另外新增一個表單,加入一個文字方塊,然後
對thisform.text1 作setfocus() (thisform.text1.setfocus() ),它也會引發text1.valid()
請問這是正常的嗎?
我想要在某些動作後把焦點移到thisform.grid.column1.text1上(因為想先輸入那一個欄位),
而且要強迫輸入規定的資料,我在thisform.grid.column1.text1.valid()中寫入:
if len(allt(this.vale))<>3
messagebox("必須為3碼")
return 0
endif
結果,
從別的地方作thisform.grid.column1.text1.setfocus(),它卻引發valid事件(並發出"必須為3碼")
我用錯了方法嗎?請教我正確的方法是?
謝謝! |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 2 樓
|
發表於: 星期五 四月 15, 2005 7:47 pm 文章主題: |
|
|
[我對一個thisform.grid.column1.text1 作 setfocus()時 (thisform.grid.column1.text1.setfocus()),
它會引發自身的valid() (thisform.grid.column1.text1.valid()),
我另外新增一個表單,加入一個文字方塊,然後
對thisform.text1 作setfocus() (thisform.text1.setfocus() ),它也會引發text1.valid()
請問這是正常的嗎?]
會嗎? 如果會的話,是否看一下text1是沒加任何程式碼的物件,或有繼承一些程式碼? |
|
回頂端 |
|
 |
joyjoy
註冊時間: 2003-09-29 文章: 24
第 3 樓
|
發表於: 星期六 四月 16, 2005 4:13 am 文章主題: |
|
|
會呀...
為了避免是我的電腦的關係,我在朋友的電腦試,
打開foxpro,直接新增一個表單,加入一個文字方塊text1
text1.click()寫一行
thisform.text1.setfocus() &&若寫this.setfocus()也是一樣的情形。
text1.valid()寫一行
messagebox("test")
立即執行,click該文字方塊,就跳出 "test"的訊息。點幾次就出來幾次,
真不知道我是怎麼了?
各位前輩,請救救我... |
|
回頂端 |
|
 |
bin1x
註冊時間: 2004-08-27 文章: 462
第 4 樓
|
發表於: 星期六 四月 16, 2005 7:54 am 文章主題: |
|
|
那我可以說
好里加在
我很少用setfocus()
祝你幸運! |
|
回頂端 |
|
 |
garfield Site Admin

註冊時間: 2003-01-30 文章: 2160
第 5 樓
|
|
回頂端 |
|
 |
joyjoy
註冊時間: 2003-09-29 文章: 24
第 6 樓
|
發表於: 星期六 四月 16, 2005 12:32 pm 文章主題: |
|
|
我使用setfocus()的目的是:
想要在grid外放一個CMD_ADDS,用以產生明細檔的新紀錄,並且預先產生流水號,
然後把焦點移到品名選擇的儲存格,該儲存格VALID()有限制及警示條件。
本想這是一個簡單的控制,
不過,它總會在GRID1.COLUMN2.TEXT1.SETFOCUS()時就引發警示訊息。
看來真的是我的用法有問題,所以,
我自己再研究吧..
謝謝各位前輩 |
|
回頂端 |
|
 |
joyjoy
註冊時間: 2003-09-29 文章: 24
第 7 樓
|
發表於: 星期日 四月 17, 2005 1:58 am 文章主題: |
|
|
garfield大大,
謝謝您提示我去看那篇文章。
之前就有看過那篇文章,可是沒有詳細的去瞭解它,
您提示後,我再回去看了幾次,一開始還是沒解決問題,
因為setfocus()真的會引發this.valid()。
我想了很久,覺得奇怪,後來又想起該文內容,所以我想到既然它一定會引發,
那我就在處理之前(text1值尚符合valid時),先把焦點移出(如到CMD_ADDS上)。
測試之後,正常無誤,現在終於解決"我"的問題。
這次的問題讓我好好地去瞭解這幾個事件,也讓我得以刪除一些無聊程式碼(當初為了克服問題所試的)
現在,SETFOCUS、WHEN、VALID、..........的運用,
又回到我一開始想像的---簡單又好用。
謝謝各位前輩來來回回的指導,謝謝! |
|
回頂端 |
|
 |
|