DOBON.NET どぼん!のVB道掲示板(プログラム)過去ログ

VB.net の KEYPRESSイベントについて

数字以外のKeyをたたいた時に、
処理を起こしたくない(テキストボックスに表示したくない)のですが
どうしたらよいのでしょう
ご存知の方がいらしたら教えてください。
>数字以外のKeyをたたいた時に、
>処理を起こしたくない(テキストボックスに表示したくない)のですが
>どうしたらよいのでしょう
>ご存知の方がいらしたら教えてください。

KeyPressイベントにこんな感じのコードを書いて出来ないでしょうか?

Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar < "0"c Or e.KeyChar > "9"c Then
e.Handled = True
End If
End Sub
>>数字以外のKeyをたたいた時に、
>>処理を起こしたくない(テキストボックスに表示したくない)のですが
>>どうしたらよいのでしょう
>>ご存知の方がいらしたら教えてください。
>
>KeyPressイベントにこんな感じのコードを書いて出来ないでしょうか?
>
>Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
> If e.KeyChar < "0"c Or e.KeyChar > "9"c Then
> e.Handled = True
> End If
>End Sub

できました
どぼんさん ありがとうございます
>>数字以外のKeyをたたいた時に、
>>処理を起こしたくない(テキストボックスに表示したくない)のですが
>>どうしたらよいのでしょう
>>ご存知の方がいらしたら教えてください。
>
>KeyPressイベントにこんな感じのコードを書いて出来ないでしょうか?
>
>Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
> If e.KeyChar < "0"c Or e.KeyChar > "9"c Then
> e.Handled = True
> End If
>End Sub


もし全角で文字を打たれてしまうと入力してしまいます。
これは、回避できないのでしょうか??
>もし全角で文字を打たれてしまうと入力してしまいます。
>これは、回避できないのでしょうか??

ImeModeプロパティをoffにすることで対処できませんか?(NumericUpDown コントロールを使った方がいいような気もしますが。)

DOBON.NET | プログラミング道 | プログラミング掲示板