Tôi có biểu mẫu Truy cập với hộp văn bản có nghĩa là cho phép nhập nhiều lần số, nhấn enter và cho phép tập lệnh thực hiện. Đối với tốc độ, trường sẽ giữ tiêu điểm sau khi hoàn thành DoStuff()
.Tại sao .setfocus của tôi bị bỏ qua?
Tuy nhiên, trong khi tôi chắc chắn rằng DoStuff()
được chạy, tiêu điểm luôn chuyển đến trường tiếp theo trong thứ tự tab. Nó giống như Me.MyFld.SetFocus
đang bị bỏ qua.
Làm cách nào để giữ tiêu điểm trên trường này sau khi hoàn thành DoStuff()
?
Private Sub MyFld_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
DoStuff
Me.MyFld.SetFocus
End If
End Sub
thử sự kiện phù hợp hơn - AfterUpdate của hộp văn bản – 4dmonster
Bạn đã cố gắng bước qua với debugger để xem nếu bất cứ điều gì khác đang chạy sau khi 'phương pháp SetFocus' của bạn? – techturtle
@ 4dmonster, nếu tôi sử dụng một sự kiện khác, làm cách nào để biết liệu phím bấm hiện tại có phải là khóa nhập không? 'AfterUpdate' không bao gồm điều đó và' OnKeyPress' là dành cho các ký tự thông thường, không phải là phím enter (hoặc vì vậy tôi đã đọc) – PowerUser