ขอวิธีให้เคอเซอร์เลี่ยนไปช่องใหม่แบบอัตโนมัติครับ
กระทู้เก่าบอร์ด อ.Yeadram

 806   4
URL.หัวข้อ / URL
ขอวิธีให้เคอเซอร์เลี่ยนไปช่องใหม่แบบอัตโนมัติครับ

เรียนถามครับ ยกตัวอย่างกรณีเหมือนการใส่Key ขณะที่เรากำลังติดตั้ง Microsoft Office ครับ เมื่อเราใส่Key ช่องแรกเสร็จ เคอร์เซอร์จะเลื่อนไปช่องที่2เอง โดยที่เราไม่ต้องกดEnter หรือกด Teb ต้องทำอย่างไรครับ

***Keyช่องแรกมี4ตัว ช่องที่2มี4ตัวครับ***

4 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R23413
สามารถตั้งลำดับของเคอร์เซอร์ได้โดยใช้เครื่องมือ Tab Order ครับ ลองศึกษาดู
2 @R23415
ขอบคุณครับ แต่ถ้าตั้งลำดับ Tab จะมีการกด Enter ก่อน แต่อันนี้ผมไม่ต้องการกด Enter ครับ ต้องการให้เมื่อใส่key ครบทั้ง4ตัวในช่องแรกแล้ว เคอเซอร์จะกระโดดไปช่องที่2 อัตโนมัติครับ
3 @R23416
private sub text1_keypress(....)
if len(text1.text) = 4 then
text2.setfocus
end if
end sub

พอเป็นแนวทางครับ
จับ event ใดๆ ที่เราถนัด หรือทดสอบแล้วว่า ไม่รบกวนการทำงานของโค้ดอื่นๆ
เช่น keypress keyup keydown เป็นต้น
ให้ทำการตรวจนับจำนวนตัวอักขระที่อยู่ใน textbox นั้นๆ
ถ้าครบจำนวนตามที่ต้องการ ก็สั่งให้ ย้ายเคอร์เซอร์ไปที่คอนโทรลตัวที่ต้องการ
คำสั่งหลังการตรวจเงื่อนไขที่เป็น True คือ
ชื่อคอนโทรล ตามด้วย method .setfocus

4 @R23417
ขอบคุณมากนะครับ ผมจะนำไปลองปรับใช้ดูครับ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3414s