web-dev-qa-db-ja.com

.NETの「、」(コンマ)および「。」(ドット)のキーコードとは何ですか?

私のKeyDownEventHandlerでは、 "、"および "。"のKeyCodeが何であるかを知る必要があります。

私は彼らを見つけることができないので、私は尋ねます。ありがとう!

23
Bosak

キーとキャラクターは同じものではありません。キーボードレイアウトはそれらの間で変換され、その変換は簡単ではありません。おそらく、KeyDownを使用しているときに間違ったことをしているのでしょう。ユーザーが入力した文字を知りたい場合は、KeyPressを使用する必要があります。これは、既に翻訳された文字を提供します。

たとえば、Keys.Decimalはテンキー上のキーで、USレイアウトの.とドイツ語レイアウトの,に対応します。 Keys.OemcommaOemPeriodは、文字の下にある,.である可能性があります。ただし、他のレイアウトでは異なる場合があります。

24
CodesInChaos

OemcommaOemPeriodは良い候補のように見えます。

MSDNの Keys enumeration をご覧ください。

7
Oded

10進値を確認してください。これがキーコードです。

http://www.asciitable.com/

2
Shaun07776

これは私がしました:

  1. 単一のテキストボックスでWinFormプロジェクトを作成しました。
  2. Keydownイベントハンドラーを追加しました。
  3. ブレークポイントを入れてください
  4. これを得ました:

enter image description here

2
jgauffin

つかいます Keys.OemcommaおよびKeys.OemPeriod

0
D Stanley

これを試しましたか。

フロートフィルター:

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
0
Champu