System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Menu
public abstract class Menu : Component
見てのとおり、このクラスは抽象クラスですpublic class Menu.MenuItemCollection : IList , ICollection , IEnumerableこのクラスは、メニュー項目を管理する非常に重要な役割を持っています
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Menu
System.Windows.Forms.MainMenu
public class MainMenu : Menu
このクラスのコンストラクタは、次のように定義されていますpublic virtual int Add(MenuItem item); public virtual MenuItem Add(string caption); public virtual int Add(int index , MenuItem item); public virtual MenuItem Add(string caption , EventHandler onClick); public virtual MenuItem Add(string caption , MenuItem[] items);item には追加する項目を示す MenuItem を
using System.Windows.Forms;
class WinMain : Form {
public static void Main(string[] args) {
Application.Run(new WinMain());
}
public WinMain() {
MainMenu mm = new MainMenu();
mm.MenuItems.Add("Rena(&R)");
mm.MenuItems.Add("Yuki(&Y)");
mm.MenuItems.Add("Mimi(&M)");
Menu = mm;
}
}

System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Menu
System.Windows.Forms.MenuItem
public class MenuItem : Menu
このクラスのコンストラクタは次のように定義されていますpublic MenuItem(); public MenuItem(string text); public MenuItem(string text , EventHandler onClick); public MenuItem(string text , MenuItem[] items); public MenuItem( string text , EventHandler onClick , Shortcut shortcut ); public MenuItem( MenuMerge mergeType , int mergeOrder , Shortcut shortcut , string text , EventHandler onClick , EventHandler onPopup , EventHandler onSelect , MenuItem[] items );text には、メニュー項目の文字列を指定します
[Serializable] [ComVisible(true)] public enum Shortcutこの列挙型は、次のようなメンバを定義しています
| メンバ | ショートカット条件 | メンバ | ショートカット条件 |
|---|---|---|---|
| Alt0 | Alt + 0 | Alt1 | Alt + 1 |
| Alt2 | Alt + 2 | Alt3 | Alt + 3 |
| Alt4 | Alt + 4 | Alt5 | Alt + 5 |
| Alt6 | Alt + 6 | Alt7 | Alt + 7 |
| Alt8 | Alt + 8 | Alt9 | Alt + 9 |
| AltBksp | Alt + BackSpace | AltF1 | Alt + F1 |
| AltF10 | Alt + F10 | AltF11 | Alt + F11 |
| AltF12 | Alt + F12 | AltF2 | Alt + F2 |
| AltF3 | Alt + F3 | AltF4 | Alt + F4 |
| AltF5 | Alt + F5 | AltF6 | Alt + F6 |
| AltF7 | Alt + F7 | AltF8 | Alt + F8 |
| AltF9 | Alt + F9 | Ctrl0 | Ctrl + 0 |
| Ctrl1 | Ctrl + 1 | Ctrl2 | Ctrl + 2 |
| Ctrl3 | Ctrl + 3 | Ctrl4 | Ctrl + 4 |
| Ctrl5 | Ctrl + 5 | Ctrl6 | Ctrl + 6 |
| Ctrl7 | Ctrl + 7 | Ctrl8 | Ctrl + 8 |
| Ctrl9 | Ctrl + 9 | CtrlA | Ctrl + A |
| CtrlB | Ctrl + B | CtrlC | Ctrl + C |
| CtrlD | Ctrl + D | CtrlDel | Ctrl + Delete |
| CtrlE | Ctrl + E | CtrlF | Ctrl + F |
| CtrlF1 | Ctrl + F1 | CtrlF10 | Ctrl + F10 |
| CtrlF11 | Ctrl + F11 | CtrlF12 | Ctrl + F12 |
| CtrlF2 | Ctrl + F2 | CtrlF3 | Ctrl + F3 |
| CtrlF4 | Ctrl + F4 | CtrlF5 | Ctrl + F5 |
| CtrlF6 | Ctrl + F6 | CtrlF7 | Ctrl + F7 |
| CtrlF8 | Ctrl + F8 | CtrlF9 | Ctrl + F9 |
| CtrlG | Ctrl + G | CtrlH | Ctrl + H |
| CtrlI | Ctrl + I | CtrlIns | Ctrl + Insert |
| CtrlJ | Ctrl + J | CtrlK | Ctrl + K |
| CtrlL | Ctrl + L | CtrlM | Ctrl + M |
| CtrlN | Ctrl + N | CtrlO | Ctrl + O |
| CtrlP | Ctrl + P | CtrlQ | Ctrl + Q |
| CtrlR | Ctrl + R | CtrlS | Ctrl + S |
| CtrlShift0 | Ctrl + Shift + 0 | CtrlShift1 | Ctrl + Shift + 1 |
| CtrlShift2 | Ctrl + Shift + 2 | CtrlShift3 | Ctrl + Shift + 3 |
| CtrlShift4 | Ctrl + Shift + 4 | CtrlShift5 | Ctrl + Shift + 5 |
| CtrlShift6 | Ctrl + Shift + 6 | CtrlShift7 | Ctrl + Shift + 7 |
| CtrlShift8 | Ctrl + Shift + 8 | CtrlShift9 | Ctrl + Shift + 9 |
| CtrlShiftA | Ctrl + Shift + A | CtrlShiftB | Ctrl + Shift + B |
| CtrlShiftC | Ctrl + Shift + C | CtrlShiftD | Ctrl + Shift + D |
| CtrlShiftE | Ctrl + Shift + E | CtrlShiftF | Ctrl + Shift + F |
| CtrlShiftF1 | Ctrl + Shift + F1 | CtrlShiftF10 | Ctrl + Shift + F10 |
| CtrlShiftF11 | Ctrl + Shift + F11 | CtrlShiftF12 | Ctrl + Shift + F12 |
| CtrlShiftF2 | Ctrl + Shift + F2 | CtrlShiftF3 | Ctrl + Shift + F3 |
| CtrlShiftF4 | Ctrl + Shift + F4 | CtrlShiftF5 | Ctrl + Shift + F5 |
| CtrlShiftF6 | Ctrl + Shift + F6 | CtrlShiftF7 | Ctrl + Shift + F7 |
| CtrlShiftF8 | Ctrl + Shift + F8 | CtrlShiftF9 | Ctrl + Shift + F9 |
| CtrlShiftG | Ctrl + Shift + G | CtrlShiftH | Ctrl + Shift + H |
| CtrlShiftI | Ctrl + Shift + I | CtrlShiftJ | Ctrl + Shift + J |
| CtrlShiftK | Ctrl + Shift + K | CtrlShiftL | Ctrl + Shift + L |
| CtrlShiftM | Ctrl + Shift + M | CtrlShiftN | Ctrl + Shift + N |
| CtrlShiftO | Ctrl + Shift + O | CtrlShiftP | Ctrl + Shift + P |
| CtrlShiftQ | Ctrl + Shift + Q | CtrlShiftR | Ctrl + Shift + R |
| CtrlShiftS | Ctrl + Shift + S | CtrlShiftT | Ctrl + Shift + T |
| CtrlShiftU | Ctrl + Shift + U | CtrlShiftV | Ctrl + Shift + V |
| CtrlShiftW | Ctrl + Shift + W | CtrlShiftX | Ctrl + Shift + X |
| CtrlShiftY | Ctrl + Shift + Y | CtrlShiftZ | Ctrl + Shift + Z |
| CtrlT | Ctrl + T | CtrlU | Ctrl + U |
| CtrlV | Ctrl + V | CtrlW | Ctrl + W |
| CtrlX | Ctrl + X | CtrlY | Ctrl + Y |
| CtrlZ | Ctrl + Z | Del | Delete |
| F1 | F1 | F10 | F10 |
| F11 | F11 | F12 | F12 |
| F2 | F2 | F3 | F3 |
| F4 | F4 | F5 | F5 |
| F6 | F6 | F7 | F7 |
| F8 | F8 | F9 | F9 |
| Ins | Insert | None | ショートカット キーなし |
| ShiftDel | Shift + Delete | ShiftF1 | Shift + F1 |
| ShiftF10 | Shift + F10 | ShiftF11 | Shift + F11 |
| ShiftF12 | Shift + F12 | ShiftF2 | Shift + F2 |
| ShiftF3 | Shift + F3 | ShiftF4 | Shift + F4 |
| ShiftF5 | Shift + F5 | ShiftF6 | Shift + F6 |
| ShiftF7 | Shift + F7 | ShiftF8 | Shift + F8 |
| ShiftF9 | Shift + F9 | ShiftIns | Shift + Insert |
[Serializable] public enum MenuMergeこの列挙型メンバは、次のように定義されています
| メンバ | 解説 |
|---|---|
| Add | MenuItem は、マージ後のメニュー内にある 既存の MenuItem オブジェクトのコレクションに追加されます |
| MergeItems | この MenuItem のすべてのサブメニュー項目は マージ後のメニューで同じ位置にある 既存の MenuItem オブジェクトのサブメニュー項目にマージされます |
| Remove | MenuItem は、マージ後のメニューには含まれません |
| Replace | MenuItem は、マージ後のメニューで 同じ位置にある既存の MenuItem と置換されます |
using System.Windows.Forms;
class WinMain : Form {
public static void Main(string[] args) {
Application.Run(new WinMain());
}
public WinMain() {
MainMenu mm = new MainMenu();
MenuItem rena = new MenuItem("Rena");
MenuItem yuki = new MenuItem("Yuki");
MenuItem mimi = new MenuItem("Mimi");
mm.MenuItems.Add(rena);
mm.MenuItems.Add(yuki);
mm.MenuItems.Add(mimi);
Menu = mm;
}
}
このプログラムを実行すると、先ほどのように