HOME > บทความจากสมาชิก > VB.NET การคีย์ TextBox ในรูปแบบของ Number ตัวเลขการเงิน
VB.NET การคีย์ TextBox ในรูปแบบของ Number ตัวเลขการเงิน
VB.NET การพิมพ์รูปแบบตัวเลขการเงิน โดยให้พิมพ์ตัวเลขได้อย่างเดียว พิมพ์ .(ทศนิยมได้ 1 ครั้ง) และ Enter ใน Format ("###,###,##0.00")
Code (VB.NET)
Private Sub txtpay_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtpay.KeyPress
If e.KeyChar >= "0" And e.KeyChar <= "9" Or e.KeyChar = vbBack Or e.KeyChar = "." Then
If txtpay.Text = "" Then 'ตรวจสอบว่า มีค่าใน textbox หรือยัง
If e.KeyChar = "." Then 'ตรวจสอบว่า ผู้ใช้ป้อน . หรือไม่ ถ้าใช้ให้
txtpay.Text = "0." 'แทนค่าใน textbox เป็น 0.
txtpay.SelectionStart() = 2 'สั่งให้ ตัว select อยู่ในตำแหน่งที่ 2 คือ ต่อจาก 0.
End If
End If
If txtpay.Text Like "[0]" Then 'ตรวจสอบว่า ใน textbox มีตัวเลข 0 อยู่ด้านหน้าสุดหรือไม่
If e.KeyChar = "." Or e.KeyChar = vbBack Then 'ถ้ามีให้ รับได้เฉพาะ . กับ backspace
e.Handled = False
Else
e.Handled = True
End If
txtpay.SelectionStart() = 1 'สั่งให้ selecttion เริ่มที่ 0 คือ ต่อจาก 1
Exit Sub
End If
If txtpay.Text Like "*[.]*" Then
If e.KeyChar >= "0" And e.KeyChar <= "9" Or e.KeyChar = vbBack Then
e.Handled = False
Else
e.Handled = True
End If
Exit Sub
End If
e.Handled = False
Else
e.Handled = True
txtpay.Focus()
txtpay.SelectAll()
End If
End Sub