次のコードを使用して、 '。 (ピリオド)WebBrowserコントロールに入力されている:HtmlElementEventArgs KeyPressedCode Confusion
private void body_KeyUp(object sender, HtmlElementEventArgs e)
{
if (e.KeyPressedCode == '.')
{
// Do something
}
}
MSDN KeyPressedCodeによれば、ASCII値を返します。ブレークポイントで取得するのは、 ''を入力すると '190'です。しかしながら。これは、標準のASCIIテーブルにも列挙されていません。 明らかに、私は単純に190をテストすることができましたが、KeyPressedCodeが異なるコードページ、言語などを持つ異なるシステムで異なる値を返す可能性があることを恐れています。
KeyPressedCodeが '46'ではなく '190'を返す理由と、この問題を「安全に」管理する方法を教えてください。
興味深いことに、 ''(スペース)の戻り値は常に正しいです( '32')。 System.Text.Encoding.GetEncodingと異なるコードページを再生しても問題は解決されませんでしたが、コードページの使用経験はあまりありません。