Public Class Form1
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Select Case Asc(e.KeyChar)
Case 48 To 57 ' key โค๊ด ของตัวเลขจะอยู่ระหว่าง48-57ครับ 48คือเลข0 57คือเลข9ตามลำดับ
e.Handled = False
Case 8, 13, 46 ' ปุ่ม Backspace = 8,ปุ่ม Enter = 13, ปุ่มDelete = 46
e.Handled = False
Case Else
e.Handled = True
MessageBox.Show("สามารถกดได้แค่ตัวเลข")
End Select
End Sub
ต่อกันเลยน่ะครับกับโค๊ดดักภาษาอังกฤษครับ
Code (VB.NET)
Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
Select Case Asc(e.KeyChar)
Case 48 To 122' โค๊ดภาษาอังกฤษ์ตามจริงจะอยู่ที่ 58ถึง122 แต่ที่เอา 48มาเพราะเราต้องการตัวเลข
e.Handled = False
Case 8, 13, 46 ' Backspace = 8, Enter = 13, Delete = 46
e.Handled = False
Case Else
e.Handled = True
MessageBox.Show("กรุณาระบุข้อมูลเป็นภาษาอังกฤษ")
End Select
End Sub
ต่อไปเป็นการดักภาษาไทยน่ะครับ
Code (VB.NET)
Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
Select Case Asc(e.KeyChar)
Case 48 To 57 ' ตรงนี้คือโค๊ดตัวเลขน่ะครับเราตัดโค๊ด58-122ออกไปเพราะว่าโค๊ดดังกล่าวมันเป็นภาษาอังกฤษครับ
e.Handled = False
Case 8, 13, 46 ' Backspace = 8, Enter = 13, Delete = 46
e.Handled = False
Case 161 To 240 ' แล้วมาใส่ตรงนี้เป็นคีย์โค๊ดภาษาไทยรวมทั้งตัวสระ+วรรณยุกต์ด้วยน่ะครับ
e.Handled = False
Case Else
e.Handled = True
MessageBox.Show("กรุณาระบุข้อมูลเป็นภาษาไทย")
End Select
End Sub
Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
Select Case Asc(e.KeyChar)
Case 48 To 122' โค๊ดภาษาอังกฤษ์ตามจริงจะอยู่ที่ 58ถึง122 แต่ที่เอา 48มาเพราะเราต้องการตัวเลข
e.Handled = False
Case 8, 13, 46 ' Backspace = 8, Enter = 13, Delete = 46
e.Handled = False
Case Else
e.Handled = True
MessageBox.Show("กรุณาระบุข้อมูลเป็นภาษาอังกฤษ")
End Select
End Sub