C#でフォームにメニューバーを付けてみる。その3

C# コンピュータ
C#
メニューバーを作成するコードを短くしてみました。

ソース

ファイル名:Menu.cs

// 
// メニュー
// 
using System;
using System.Windows.Forms;
// コンパイル
// csc /t:winexe Menu.cs

class Form1 : Form {
    
    MenuStrip menuBar = new MenuStrip();    // メニューバー
    
    ToolStripMenuItem menuFile = new ToolStripMenuItem {
        Text = "ファイル",
    };
    ToolStripMenuItem menuView = new ToolStripMenuItem {
        Text = "表示",
    };

    ToolStripMenuItem menuOpen = new ToolStripMenuItem {
        Text = "開く",
    };
    ToolStripMenuItem menuClose = new ToolStripMenuItem {
        Text = "閉じる",
    };

    ToolStripMenuItem menuSetting = new ToolStripMenuItem {
        Text = "設定",
    };

    // コンストラクタ
    Form1() {
        menuFile.DropDownItems.AddRange(new ToolStripItem[] {
            menuOpen, menuClose});  // ファイル項目にドロップダウンメニューを追加
        menuView.DropDownItems.AddRange(new ToolStripItem[] {
            menuSetting});  // 表示項目にドロップダウンメニューを追加
        menuBar.Items.AddRange(new ToolStripItem[] {
            menuFile, menuView});   // メニューに項目を追加

        Controls.Add(menuBar);  // フォームにメニューバーを追加

        // メニューのクリックイベント
        menuClose.Click += (o, e) => Close();
    }
    // エントリーポイント
    [STAThread]
    static void Main() {
        Application.Run(new Form1());
    }
}

コンパイル

.NetFramework

PS>csc ./Menu.cs

mono

$mcs ./Menu.cs /r:System.Windows.Forms.dll /r:System.Drawing.dll

実行

.NetFramework

PS>./Menu.exe

mono

$mono ./Menu.exe

機能する項目は「ファイル」→「閉じる」だけです。

コメント