【.NET 5 C# WinForms】メニューとメニューイベントの追加

(2021.8.3追記)Visual Studio 2019を更新することにより下図のように従来の.NET Frameworkと同等にメニューを追加できるようになりました。本記事は旧バージョン操作方法となります。
下図は Visual Studio Community 2019 バージョン 16.10.4 の画面です。

 


 

.NET5のメニューは、.NET Frameworkのメニューと比べ、メニューの追加方法とイベントの追加方法が変更されています。

今回は、このよう↓にメニューを追加します。

 

メニューの追加

ツールボックスの MenuStrip をフォームへドラッグ&ドロップします。

 

すると、フォームに MenuStrip が追加されますが、.NET Framework のときのように、 ここへ入力 の文字が表示されていません。

(参考).NET FrameworkのMenuStrip

 

.NET 5において、メニューを追加するには、MenuStripプロパティ画面の ItemsCollection を追加するため、右側にある ボタンをクリックします。

 

すると、このようなエディタが表示されます。

 

次に、Addボタンをクリックし、MenuItemを追加します。

.NET5でも、.NET Frameworkと同じように MenuStrip にMenuItem,ComboBox,TextBoxが追加可能です。

 

MenuItemを追加すると、このようになります。

 

さらに後から分かりやすいように、 (Name)の名前を変更し、メニューの表示名(今回は ファイル(&F))を変更しておきます。

 

同様にして ヘルプ 用のメニューも追加した状態がこちら↓

 

さらにメニューの ファイルの下に 開く終了 を追加したいので、今度は DropDownItems の(Collection) の右側にある ボタンをクリックし、 開く終了 を、ファイルの時と同様に追加します。

 

メニューイベントの追加

次に、メニューのクリックイベントを追加したいのですが、.NET Frameworkの時にあった⚡マークがありません。

そこで、プロパティウィンドウの上部にある ▼マーク をクリックしすると、フォームに追加されているコントロール一覧が表示されるので、この中からメニューのイベントを追加したい項目(ここでは menuFileExit)を選択します。

 

すると、 menuFileExitのプロパティが表示され、⚡マークも表示されるので、⚡をクリックし、さらにメニューのクリックイベント(Click)をダブルクリックします。

 

すると、.NET Frameworkと同様に、Clickイベントのコードが生成されるので、イベント内の処理を追記していきます。

 

今回は 終了 のメニューイベントだったので、 this.Close() を追記しました。

 

このようにして、最初に示したようなメニューが追加できます。

 

 .NET 5 C# Windows Forms プログラミング へ戻る

【.NET 5 C# WinForms】メニューとメニューイベントの追加」への4件のフィードバック

  1. 書籍に習って進めていましたが仕様がことなり詰んでしまっていたろころこちらに辿り着き解決できました。ありがとうございます!!

    • モヒカンさん、コメントありがとうございます。
      私も最初はメニューを配置してみたものの、何もメニューバーに表示されていないので、途方に暮れていましたww

  2. 情報ありがとうございます。
    なるほど、どうもうまくいかなかったのが、この記事で分かりました。

    機能拡張は悪くないですが、こういうUIまで変に変えてしまうのは賛成できないです。
    よくMSさん、それは仕様ですとかすぐに言うけど、もっと簡単にできるようにして欲しい所ですね。

    • Adamo Bishopさん、コメントありがとうございます。
      MSさんらしいところですよね。
      ブログを書いている身としては、ネタを与えてくれて助かりますww

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください