私のKeyDown
EventHandler
では、 "、"および "。"のKeyCode
が何であるかを知る必要があります。
私は彼らを見つけることができないので、私は尋ねます。ありがとう!
キーとキャラクターは同じものではありません。キーボードレイアウトはそれらの間で変換され、その変換は簡単ではありません。おそらく、KeyDown
を使用しているときに間違ったことをしているのでしょう。ユーザーが入力した文字を知りたい場合は、KeyPress
を使用する必要があります。これは、既に翻訳された文字を提供します。
たとえば、Keys.Decimal
はテンキー上のキーで、USレイアウトの.
とドイツ語レイアウトの,
に対応します。 Keys.Oemcomma
とOemPeriod
は、文字の下にある,
と.
である可能性があります。ただし、他のレイアウトでは異なる場合があります。
Oemcomma
とOemPeriod
は良い候補のように見えます。
MSDNの Keys
enumeration をご覧ください。
10進値を確認してください。これがキーコードです。
これは私がしました:
つかいます Keys.Oemcomma
およびKeys.OemPeriod
これを試しましたか。
フロートフィルター:
Select Case e.KeyChar
Case "0"c To "9"c
Case "."c
If .Text.Contains(".") Then
e.Handled = True
End If
Case ChrW(Keys.Delete), ChrW(Keys.Back)
Case Else
e.Handled = True
End Select