マイクロソフト株式会社 デベロッパー&プラットフォーム統括本部
エバンジェリスト 高橋 忍

最終更新日 2006 年 3 月 3 日

このコンテンツのポイント

  • メニューストリップの基本的な構造を理解する。

今回紹介するコード

<Form1.cs>

C#
Public Form1()
{
        InitializeComponent();
        // Menustrip
        ToolStripMenuItem fileitem = new ToolStripMenuItem();
        fileitem.Text = "&File";
        ToolStripMenuItem newitem = new ToolStripMenuItem();
        newitem.Text = "&New";
        newitem.Click += delegate
        {
                Form frm = new Form();
                frm.Text = "NewForm";
                frm.Show();
        };
        fileitem.DropDownItems.Add(newitem);
        menuStrip1.Items.Add(fileitem);
}
 

今回のシステム要件

目次

はじめに
作成するアプリケーションの概要
アプリケーションの作成
動作と解説
おわりに

Visual Basic の内容はこちらに掲載しています。
10 行でズバリ!! ToolStrip の利用 (VB)

はじめに

Windows Forms 2.0 で新しく追加された、ToolStrip はこれまでの Menu に変わる新しいコントロールです。ToolStrip ではさまざまなアイテムを簡単にメニューに追加し利用することが出来ます。ここでは、ToolStrip の中でも最も基本である、MenuStrip の構造と使い方をサンプル プログラムを通して取り上げます。

尚、これらの処理の大半は Visual Studio の IDE 上でデザインしながら実装することも出来ますが、ここでは ToolStrip を理解するためにコードで実装しています。

作成するアプリケーションの概要

ここでは、メニューストリップにメニューを追加し、メニューから新しいフォームを生成する機能を実装します。

アプリケーションの作成

まず、新規に Windows アプリケーションを作成します。Visual Studio 2005 の [ファイル] メニューをクリックし、[新規作成] をポイントして、[プロジェクト] をクリックします。 [新しいプロジェクト] ダイアログ ボックスが表示されたら、プロジェクトの種類として 「Visual C#」 の 「Windows」 を選択し、テンプレートとして 「Windows アプリケーション」 を選択します。 プロジェクト名などを任意に指定して [OK] をクリックします。

図 1. Windows アプリケーションを新規に作成する

これで、ベースとなる Windows フォームが出来ましたので、ここで新しい MenuStrip コントロールを実装します。ツールから MenuStrip コントロールをフォームにドラッグ & ドロップします。

図 2. MenuStrip の配置

もちろん、この画面でメニューの実装を行うことが出来ます。実際にはこの画面上でツールの実装を行うことが多いでしょう。さて、「表示」 メニューから 「コード」 を選択してコード画面を表示します。すでに Form1 のコンストラクタである、Form1() のメソッドが定義されていますので、ここに以下のコードを追加します。

C#
Public Form1()
{
        InitializeComponent();
        // Menustrip
        ToolStripMenuItem fileitem = new ToolStripMenuItem();
        fileitem.Text = "&File";
        ToolStripMenuItem newitem = new ToolStripMenuItem();
        newitem.Text = "&New";
        newitem.Click += delegate
        {
                Form frm = new Form();
                frm.Text = "NewForm";
                frm.Show();
        };
        fileitem.DropDownItems.Add(newitem);
        menuStrip1.Items.Add(fileitem);
}
 

動作と解説

では、実行してみます。 [Ctrl + F5] キーを押すか、[デバッグ] メニューの [デバッグなしで開始] をクリックします。メニュー項目のある Windows フォーム アプリケーションが起動しますので、「File」 メニューから 「New」 を選択します。すると、新しいウィンドウが起動します。

図 3. メニューからの新しいフォームの起動

「File」 や 「New」 などのメニューの項目は、それぞれ ToolStripMenuItem という Item オブジェクトです。それぞれの Item を別の Item や MenuStrip の Item として追加してやることによって階層化されたメニューが構成されます。また、それぞれのオブジェクトにイベントを割り当ててやることで、このようにイベント処理を追加することが出来ます。

おわりに

メニューはそれぞれが階層的に連結されたオブジェクト郡で構成されています。この構造を知っておくことで、アプリケーションを実行しながら、動的にメニューを組み替えたり、メニューの内容や動作を変更することが出来ます。特に変更の必要がない静的なメニューは Visual Studio のデザイン画面で実装し、動的なメニューはこのようにコードで実装していきましょう。


Code Recipe .NET Framework デベロッパー センター

ページのトップへ