【.NET】Enterによるフォーカス移動とTabなど特殊キーの制御
クライアントアプリの開発でキーボードの入力を制御するためのメモ。
環境は.NET Framework 2.0, Visual Studio 2005, VB.NET
Enterキーでタブ(Tab)キーみたいにフォーカス移動するのは@ITの記事を参考にSelectNextControlを使えばできる。
ただ記事で紹介しているフォームのKeyDownをhandleするやり方は特殊キー([PageUp][PageDown][Esc][Tab][カーソルキー])の入力をhandleしてくれないこともあるみたい。
そんなときは別の@ITの記事を参考にProcessDialogKeyをOverrideすればいいみたい。紹介されているサンプルコードをフォームのクラスにそのまま記述すればO.K.
特殊キーの動きを自作するには
Protected Overrides Function ProcessDialogKey(ByVal keyData As Keys) As Boolean
Return True
End Function
としといて、フォームのKeyDownイベントで頑張る。
KeyDown, KeyUp, KeyPressの違いについてはMSDNで。