Windows Forms で Tab キー入力をイベント処理する

📋 目次(クリックで展開)

Windows Forms では、ユーザー コントロールに対する様々なキー入力をイベント ハンドルすることができますが、Tab キーはフォームレベルで管理されているためユーザー コントロール レベルではイベント が発生しません。ユーザー コントロール上で Tab キー入力をハンドルするには、ProcessCmdKey をオーバーライドします。

TextBox の場合

MyTextBox.cs
class MyTextBox : TextBox
{
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Tab)
{
// ここにロジックを実装
Debug.WriteLine("Tab が押されました。");
}
return base.ProcessCmdKey(ref msg, keyData);
}
}

Control.ProcessCmdKey メソッド


💬 コメント