Windowにメニューを追加して動作させます。
-------------------------------------------------------
using System;
using System.Windows.Forms;
class WinSample : Form
{
private MainMenu mainMenu;
private MenuItem fileMenu;
private MenuItem closeMenu;
public static void Main()
{
Application.Run(new WinSample());
}
public WinSample()
{
this.mainMenu = new MainMenu();
// メニューのトップ項目を作成してメインメニューオブジェクトに追加
this.fileMenu = new MenuItem();
this.fileMenu.Text = "ファイル";
this.mainMenu.MenuItems.Add(this.fileMenu);
// あらかじめメニューアイテムを作成してから登録
this.closeMenu = new MenuItem();
this.closeMenu.Text = "閉じる";
this.closeMenu.Click += new EventHandler(this.close_Click);
this.fileMenu.MenuItems.Add(this.closeMenu);
// メニューに登録する時点でアイテムを作成する
this.fileMenu.MenuItems.Add(new MenuItem("閉じる", new EventHandler(this.close_Click)));
// フォームのメニューとしてメインメニューオブジェクトを追加
this.Menu = mainMenu;
}
private void close_Click(object sender, EventArgs e)
{
this.Close();
}
}
-------------------------------------------------------
メニューは階層化が可能です。親になるメニューアイテムに子のメニューアイテムを追加する、という形で階層化が行われます。
また、メニューアイテムをあらかじめ作成しておいてから追加する方法と、追加と作成を同時に行う方法が利用できます。
なお、上記のように複数のイベントに対して同じ動作をさせたい場合、同じメソッドを複数のイベントに登録して利用することが可能です。
あおい情報システム株式会社 小野修司(どっとねっとふぁん)