|
|
|
C# Scan barcode ต้องการให้ สแกนข้อมูล แล้วทำ event เลย โดยไม่ต้องกด key หรือ เมาส์ |
|
|
|
|
|
|
|
ผมลืมบอกอีกอย่าง คือ ตัวยิง scan barcode ตัวนี้ มัน ยิงข้อมูลออกมาเรียงทีละตัว เลยมีปัญหากับ event TextChanged
|
|
|
|
|
Date :
2013-01-03 11:49:07 |
By :
bas481354 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อย่าลืมดูบนเครื่อง Barcode ด้วยครับ มันมีให้ Set ว่าจะ Enter หรือเปล่าด้วยครับ
|
|
|
|
|
Date :
2013-01-03 12:49:49 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองตั้งค่า bar-code scanner ใหม่ โดยหลังจากตั้งค่าแล้ว ให้เปิด notepad แล้วลองยิง bar-code ดู ต้องแสดงผลคล้ายด้านล่าง
123125
23621
1201241251
1254212
คือ ยิงไป 4 ครั้ง 4 bar-code จะขึ้นบรรทัดใหม่ให้ทุกตัว
หลังจากนั้นไปดัก event key_up ของ text box ให้ตรวจสอบ key code ว่าเป็น 'Enter' หรือ 'New Line' หรือไม่
ถ้าใช่ ก็ทำ Process ที่ต้องการได้เลยครับผม
|
|
|
|
|
Date :
2013-01-03 16:14:34 |
By :
numenoy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วคับ อย่างที่บอกไปว่า ตัว scan barcode ที่ใช้อยู่ ไม่สามารถที่จะปรับให้เป็บแบบ enter ได้คับ เพราะมันจะใช้กับโประแกรมอีกตัวที่ ทำงาน ไม่ได้อ่ะคับ คือโปรแกรม ของที่ทำงาน มันยิงออกมาแบบแนวเรียงเป็นแถวเดียวกันคับ เลยต้องใช้วิธีอื่น อย่างที่ mr.win บอกเลยว่าให้ ไปจับ keycode ของมันอะคับ ^^ ลอง ดีบัค ดูทีละขั้นตอน ก็เลยเห็น keyvalue = 17 (ก่อนหน้านั้นผมลองใช้ keyValue = 13 ซึ่งคือ Enter) ปรากฏว่าใช้ได้คับ
Code (C#)
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 17)
{
txtR_ID.Text = textBox1.Text;
textBox1.Clear();
}
}
ขอบคุณ mr.win และคุณ numenoy นะคับ ที่แนะแนววิธีใหม่ๆ ให้นะคับ ^^
|
|
|
|
|
Date :
2013-01-15 16:32:58 |
By :
bas481354 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จัดไป
|
|
|
|
|
Date :
2013-01-15 16:35:30 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้แบบนี้ครับ
Code (C#)
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter){
MessageBox.Show("ทดสอบ Enter Text Box");
}
}
|
ประวัติการแก้ไข 2013-11-01 14:48:25
|
|
|
|
Date :
2013-11-01 14:47:19 |
By :
ping8252 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|