TextBoxで「XXコードの入力」といったコード類の入力で、数値のみ入力させたい場合があります。
そこで、次のようにTextBoxのKeyPressイベントを使用して数値のみ入力できるようにします。 (次の例では、数値とBackSpaceの入力のみ可能にしています。)
Private Sub TextBox1_KeyPress(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Dim blnBackSpace As Boolean = Asc(e.KeyChar) = Keys.Back
If (e.KeyChar < "0"c Or e.KeyChar > "9"c) _
And Not blnBackSpace Then
e.Handled = True
End If
End Sub
KeyCharが数字であるかどうかは、Char.IsDigit()で知ることができるので 次のようにすることもできます。
Private Sub TextBox1_KeyPress(ByVal sender As Object, _ ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress Dim blnNumber As Boolean = Char.IsDigit(e.KeyChar) Dim blnBackSpace As Boolean = Asc(e.KeyChar) = Keys.Back If Not blnNumber And Not blnBackSpace Then e.Handled = True End If End SubCopyright 1997-2008 BBB All rights reserved.