我正在接受並驗證地址的用戶控件。這些地址都在特定的域(特別是澳大利亞)內。用戶控件如何將焦點傳遞給父窗體上的控件?
在地址用戶控件中,我有三個字段:郊區,州和郵編(又名郵編)。
當用戶鍵入郊區名稱的一部分並點擊TAB並進入狀態字段時,我查詢數據庫以查看是否可以理解部分郊區。如果可以,我填寫完整的郊區,州和郵政編碼。例如,澳大利亞只有一個名爲「BORONIA」的郊區,因此用戶可以鍵入「BONON」,打TAB,表格中填入「BORONIA」,「VIC」和「3155」。
我得到的問題是,填充這些字段後,我想跳過狀態和郵政編碼字段,然後轉到窗體上的下一個控件。因爲這些地址字段在用戶控件中,所以我實際上想要將焦點設置爲父窗體上的下一個控件。
我知道那個控件是什麼,但是既沒有.Focus()也沒有.Select()似乎移動了焦點。數據庫查詢和字段填充在狀態字段的Enter事件中完成。
我有一個不是用戶控件的同一地址處理邏輯的早期版本:它在數據輸入表單上都是內聯的,在這種情況下一切正常。在狀態字段的Enter方法中,我可以將控制傳遞給下一個字段。
但是,當我將它重構爲用戶控件時,它失敗了。任何人都可以將我推向正確的方向嗎?
編輯:我應該注意到,我可以將焦點傳遞給我的用戶控件中的其他控件,所以我知道基本邏輯是正確的。這就是爲什麼我相信這是關於用戶控件和父控件,而不是我的控件選擇和.Select()調用。
謝謝Henk。這工作完美。 – Andrew 2009-08-13 00:07:14