在表單的設計中, 在 TextBox 輸入 Enter 鍵時, 希望輸入游標跳到下一個輸入欄位 (相當於按下 Tab), 程式該如何撰寫呢?
將 TextBox 的 MaxLength 設定成 N 之後, 希望輸入達到 N 的字元時, 輸入游標自動跳到下一個輸入欄位, 程式又如何呢?
我們可以分別利用 Text1_KeyDown 及 Text1_Change 事件來偵測使用者是否按下 Enter 鍵及 輸入是否達到 N 個字元, 程式大致如下:
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then ' 表示使用者按下 Enter 鍵 ... End If End Sub
Private Sub Text1_Change() If Len(Text1.Text) >= N Then ' 輸入達 N 個字元以上 ... End If End Sub
至於讓輸入游標移到下一個輸入欄位, 可以利用 SendKeys 送出 Tab 鍵,如下:
SendKeys "{Tab}"
所以完整的程式如下:
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn Then SendKeys "{Tab}" End If End Sub
Private Sub Text1_Change() If Len(Text1.Text) >= 10 Then SendKeys "{Tab}" End If End Sub