|
分類:[C#]
VS2008 C# Framework3.5 Windows Vista/7
お世話になります。 ProcessCmdKeyイベントの第二パラメータの Keys列挙体 から、 Char型を求める方法はあるでしょうか? とりあえず、BackSpace,Tab,Enter, A-Z,0-9(テンキー以外) であればダイレクトキャストでも 行けそうではありますが、厳密には違いますよね。 Modifier(Shift,Alt,Ctrl) の絡みもありますし…。 KeyPressイベントの KeyPressEventArgs では、 キーに対応したChar型が取れるので、 キーコードからキャラクタを取得する何らかの取得方法が Framework 上で用意されてると(勝手に)思ったのですが、 探し方が悪いのかヘルプでもネットでも見つけられませんでした。 最終的には、キーコードからCharのアスキーコード(Unicode?)が 分かれば良いと考えております。 キーに対応するCharの対応表のような物を自作しようとも思いましたが、 キーボードの種類(英語キーボード/日本語キーボード 等)によっても 変わると思いますし、現実的ではないのかなぁ…と憂慮しております。 キーコードの数値から計算等で求められる公式など存在するのでしょうか? そもそも、Framework で機能として用意されているのでしょうか? 更にそもそも、Keys列挙体からCharの変換などナンセンスなのでしょうか?
話が前後しましたが、やりたいことは、 フォーム上のどのコントロールがアクティブであろうと、 ある決められた Char文字 がそのフォーム上で入力されたら、 ある決められた処理を行いたい。 です。
よろしくお願いします。
|