キー操作で選択範囲を移動できるようにします。ショートカットキーを使うことができるようにするためにはメニューを作成して

このようにすればCtrl+Aを押すことでメニューを選択したのと同じ効果を得ることができます。しかしこの方法では処理をすることができないキーがあります。AやBのキーを単独で押した場合は使えません。

Escape キーや PageDn、PageUp、その他 A Z、を単独で指定することはできないのでしょうか?

C#: Escape などのキーをショートカットキー (アクセラレータキー) として処理するには | ミルノのブログによると以下の方法があります。

UserControlImage.OnKeyDownUpメソッドなどはtrueを返すので、それ以外の動作はさせません。

以下はメニューが選択されたときのメソッドです。選択範囲を上下左右に移動させます。

← → ↑ ↓キーを押すと範囲選択されている場合は選択範囲を移動させます。範囲選択されていない場合はスクロールさせます(ただし可能な場合)。

実際に選択範囲を移動させるためのメソッドを示します。SelectionMoveメソッドを呼び出すことで選択範囲を移動させます。

これはスクロールさせるためのメソッドです。スクロールバーを動かすことができるか確認して、動かすことができる場合は動かして表示されている画像もそれにあわせて変化させます。