.NET TIPS

Windowsアプリケーションでショートカット・キーを割り当てるには?

デジタルアドバンテージ
2004/09/17

 「TIPS:Windowsアプリケーションでアクセス・キーを割り当てるには?」では、Windowsアプリケーションのメニュー・バーやコンテキスト・メニューなどのメニューに対し、[Alt]キー+[A]〜[Z]もしくは数字のいずれかのキーでメニュー項目にアクセスできる「アクセス・キー」を割り当てる方法について紹介した。Windowsアプリケーションでは、このアクセス・キーとは別に、[Ctrl]+[A]〜[Z]キーなどのより自由なキーの組み合わせにより(利用可能な組み合わせについては後述)、メニュー項目にアクセスできる「ショートカット・キー」という機能がある。

 本稿ではこのショートカット・キーの実装方法について紹介する。

Windowsアプリケーションでのショートカット・キーの実装方法

 とはいっても、Windowsアプリケーションでのショートカット・キーの実装は簡単だ。メニュー・バー(=MainMenuコントロール)やコンテキスト・メニュー(=ContextMenuコントロール)に登録されているメニュー項目であるMenuItemオブジェクト(System.Windows.Forms名前空間)のShortcutプロパティに、Shortcut列挙体(System.Windows.Forms名前空間)の値を割り当てるだけだ(なお後に掲載する画面にあるように、Shortcutプロパティは、コードだけでなく、Visual Studio .NETのIDEの[プロパティ]ウィンドウでも指定できる)。

 よって、メニューに指定できるショットカット・キーの種類は、Shortcut列挙体のメンバの種類に制限される(利用可能なショットカット・キーの種類は、Shortcut列挙体のメンバ一覧を参照してほしい)。

 次の画面は、Windowsフォーム上のメニューに対し、実際にショートカット・キーを割り当てたものである。

Windowsフォームでのショートカット・キーの設定と実行画面
Windowsフォーム上のメニューに対し、[Ctrl]+[A]〜[Z]キーなどのキーの組み合わせにより(利用可能な組み合わせについてはShortcut列挙体のメンバを参照)、メニュー項目にアクセスできる「ショートカット・キー」を割り当てている画面(上)と、ショートカット・キーを設定したWindowsフォームを実際に実行した画面(下)。
  MainMenuコントロールに登録されているメニュー項目であるMenuItemオブジェクトのShortcutプロパティにShortcut列挙体の値(この例では、「CtrlN」)を割り当てることで、「新規作成(N)」のショートカット・キーを実装できる(もちろん[プロパティ]ウィンドウを使わずにソース・コード上で実装してもよい)。
  Shortcutプロパティに指定したショートカット・キーの表示(この例では、「Ctrl+N」)がメニュー項目名の表示(新規作成(N))の後に自動的に追加される(ただし、Visual Studio .NETのWindowsフォーム・デザイナ上では表示されず、実際の実行時に初めて表示されるので注意すること)。

 上の画面のように、Shortcutプロパティを指定したメニュー項目には、そのショートカット・キーの表示がメニュー項目名の表示の後に自動的に追加される(ただし、Visual Studio .NETのWindowsフォーム・デザイナ上では表示されず、実際の実行時に初めて表示されるので注意すること)。End of Article

カテゴリ:Windowsフォーム 処理対象:キーボード
使用ライブラリ:MainMenuコントロール
使用ライブラリ:ContextMenuコントロール
使用ライブラリ:MenuItemクラス(System.Windows.Forms名前空間)
使用ライブラリ:Shortcut列挙体(System.Windows.Forms名前空間)
 
この記事と関連性の高い別の.NET TIPS
Windowsアプリケーションでアクセス・キーを割り当てるには?
[ASP.NET]デザイン・ビュー/ソース・ビュー/コードビハインド・ファイルを順に切り替えるには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間