【.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で。

名古屋のおもしろ会社エクスブリッジ

コメント

このブログの人気の投稿

【.NET】DataGridViewを選択した際に背景色を変更しない

Can't open PID file /var/run/nginx.pid (yet?) after start: Too many levels of symbolic links

【PostgreSQL】ROWNUMのように行番号(現在行)を取得するROW_NUMBER