|
.NET TIPS NumLock、CapsLock、ScrollLock、InsertキーのON/OFFを判定するには?[2.0のみ、C#、VB]デジタルアドバンテージ 一色 政彦2006/03/31 |
![]() |
|
|
|
.NET Framework 1.xでは、[NumLock][CapsLock][ScrollLock][Insert]などのキーのロック状態(ON:有効/OFF:無効)を判定するには、Win32 APIのGetKeyState関数を呼び出す必要があった。つまり、これらのキーの判定は.NET Frameworkのクラス・ライブラリだけで気軽に実装できなかったのだ。
しかし.NET Framework 2.0ではこれらのキーを判定するためのメソッドが新たに追加されており、非常に簡単にこれらのキーの判定処理を実装できるようになっている。具体的には次のメソッドだ。
- Controlクラス(System.Windows.Forms名前空間)の静的なIsKeyLockedメソッド
このメソッドは、そのパラメータにKeys列挙体(System.Windows.Forms名前空間)の「NumLock」「CapsLock(もしくはCapital)」「Scroll」「Insert」のいずれかの値を指定して呼び出すと、Boolean型の戻り値を返す(当然ながらその意味はTrueがONで、FalseがOFFを表す)。なお、前出以外のKeys列挙体の値を指定した場合は、NotSupportedException例外が発生する。
次のサンプル・プログラムは、このControl.IsKeyLockedメソッドを実際に利用した例である。このプログラムは、アイドル時間に、各キーのON/OFF状態を調べて、対応するLabelコントロールのテキストを更新する。なおソース・コード全体は以下の説明欄にあるリンクからダウンロードできる。
|
||
| Control.IsKeyLockedメソッドを実際に利用したサンプル・プログラム(上:C#、下:VB) | ||
このサンプル・プログラムを実行したのが次の画面である。
![]() |
| サンプル・プログラムの実行結果 |
| [NumLock][CapsLock][ScrollLock][Insert]などのキーを押して、ロック状態を切り替えると、それに対応するLabelコントロールの表記が切り替わる。なおCapsLockの状態を切り替えるには、通常は[Shift]+[CapsLock]キーを押す必要がある。 |
このサンプル・プログラムを実行している最中に[NumLock][CapsLock][ScrollLock][Insert]などのキーを押すと、それに対応するLabelコントロール上の「ON」「OFF」という表記が切り替わるのが確認できるだろう。![]()
| 利用可能バージョン:.NET Framework 2.0のみ カテゴリ:Windowsフォーム 処理対象:キーボード カテゴリ:コンソール・アプリケーション 処理対象:キーボード 使用ライブラリ:Controlクラス(System.Windows.Forms名前空間) 使用ライブラリ:Keys列挙体(System.Windows.Forms名前空間) 使用ライブラリ:NotSupportedExceptionクラス(System名前空間) |
|
||||||||||||
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -



