c# Menu プログラミング

【C#】フォームにメニューを表示する方法|メニューのアクセスキー&ショートカットを設定する方法も紹介

フォームにメニューを表示する

WindowsFormsでこのようなメニューを表示する方法を紹介します。


フォームにメニューを表示する方法

ツールボックスから「MenuStrip」を選択し、配置することで実現できます!

menustrip

詳しくみていきます。

フォームにMenuStripを配置する

先ほどツールボックスで選択した「MenuStrip」をフォーム上に配置します。(クリックすれば配置されます)

※フォーム上部に「ここへ入力」というメニューが配置されたのがわかります。

menustripを配置

メニュー項目を作成してく

先ほど掲載した、メモ帳のように、以下のようなメニュー項目を作成してみたいと覆います。

  • 「ファイル(F)」→「開く(O)...」→「ファイル選択ダイアログ表示」

※実際にユーザーがマウス操作で選択・クリックできる項目になります。

 

こんな感じで「ここへ入力」のところに文字を打っていきます。(特に難しい操作は無いです)

メニュー作成

アクセスキーを入力する

先ほどの画像にある「開く(O)...」のように、「(O)」の部分について説明します。

 

「開く」のような文字の後に過去でローマ字がかかれています。

これを「アクセスキー」や「アクセラレーションキー」といいます。

 

ショートカットキー好きの方なら知っているかもしれませんが、「ALT」キーと一緒にローマ字のキーを入力すると、対象のメニューが選択できるやつです。

入力の仕方は簡単で、ローマ字の前に「&」を書いてあげるだけです。

 

今回の例だと「開く(&O)...」という感じ。

アクセスキー入力

これだけです。

 

今回の例だと、それぞれ「ファイル(&F)」「開く(&O)...」と入力しています。

※プロパティにのTextに入力しても良いですし、フォーム上に直接入力してもOKです

いったん動作確認してみる!

実行してみましょう。

 

実行して、「ALTキー」+「F」を入力してみると、こんな感じになったと思います!

ここまではOKです!

メニュー項目選択された時の処理を実装する

それでは次に、この「開く(O)…」が押された時の動作を実装していきます。

といってもまったく難しい事はありません。

普通のボタンコントロール押された時と同じです。

 

この「開く」をダブルクリックします。

※または、プロパティのイベント→「Click」でダブルクリック(新規イベント作成)でも可!

メニュー項目選択時の処理

するとこんなイベントが自動で追加されます。

 

ここに、ボタンがクリックされた時の処理を書いていきます。

例えば、ファイル選択ダイアログを表示させるとこんな感じ。

※ただ変数に、ファイル名をいれるだけの意味のない実装ですが…。

メニュー項目のショートカットを設定する

最後に、便利なショートカットの設定方法を紹介します。

 

プロパティから設定します。

プロパティに「ShorcutKeys」という項目があります。デフォルトでは「None」となっているので、クリックします。

するとこんなのが表示されます。

ショートカットキーの設定

修飾子とキーを設定してあげます。

例えば、「修飾子:Ctrl、キー:O」と設定すると、画面が表示された状態で「Ctrl+O」キー押下で、「開く」の動作がおこなわれます(この例だとファイル選択ダイアログ表示)。

ショートカットキーなので、その名の通り、いきなり対象の操作を実行してあげることができます。

※先ほどは、「ファイル」→「開く」と順に操作してあげる必要がありましたが。

 

アクセスキーとともに、ユーザーの使い勝手を考慮して設定してあげるとよいでしょう。

まとめ|フォームにメニューを設定する

フォームにメニューを設定する際のあれこれ、まとめです。

  • MenuStripでフォームにメニューを設置する。
  • メニュー項目を設定
  • メニュー項目がクリックされた時の処理を実装
  • アクセスキーを設定
  • ショートカットキーを設定

 

\この記事はどうでしたか?/

-c#, Menu, プログラミング

© 2021 ジョブログLiFE