Windowsフォーム アプリケーションでKeyPressを使うと、文字キーの入力だけつかまえる。
と、いうことにMSDN上はなっています。
http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.control.keypress(VS.80).aspx
実際、Deleteキーなどの特殊キーは押してもスルーされます。
が、BackSpaceはKeyPressで捕まえることができてしまいます。
ん?
Delはスルーなのに?BSは捕まえちゃうの?
MSDNには文字キーだけって書いてあるのに?
いろいろ調べたら、こんなのも見つけました。
「KeyPressEventArgs.KeyChar プロパティ 」
http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.keypresseventargs.keychar(VS.80).aspx
ここにはこうあります。
====引用スタート
次のキーを取得または設定できます。
・a ~ z、A ~ Z の各キー
・Ctrl キー
・区切り記号
・数字キー (キーボード上段のキーとテンキーの両方)
・Enter キー
次のキーは取得または設定できません。
・Tab キー
・Ins キーと Del キー
・Home キー
・End キー
・PageUp キーと PageDown キー
・F1 ~ F2 の各キー
・Alt キー
・方向キー
====引用終わり
おぉ、すごい細かく書いてある。
ってか、BackSpaceは??
ん?Ctrlが取れるとですか!?
やっぱ、取れへんがなぁ。
こんなんFAQだと思ってすぐ分かると高をくくって調べてみましたが、結局わからん。
BackSpaceは文字キー扱いで、Delキーが特殊キー扱いってのはOS側の仕様なのかしら?
でもなぢぇ?
ヽ(。_゜)ノ
最初は掲示板に書こうとしていたけど、書いてるうちにBlogのノリになってきたので、急遽Blogにしてみました。(^^ゞ