private void PopulateSub(MenuStrip mms, ToolStripMenuItem menu) { MethodInvoker method1 = delegate { var selectedText = new ToolStripMenuItem("Change Selected Display to Text"); selectedText.ShortcutKeys = Keys.Control | Keys.T; selectedText.Click += OnSelectText_Click; menu.DropDownItems.Add(selectedText); }; MethodInvoker method2 = delegate { var selectedIcon = new ToolStripMenuItem("Change Selected Display to Icon"); selectedIcon.ShortcutKeys = Keys.Control | Keys.R; selectedIcon.Click += OnSelectIcon_Click; menu.DropDownItems.Add(selectedIcon); }; MethodInvoker method3 = delegate { var selectedApp = new ToolStripMenuItem("Change Selected Display to Application Setting"); selectedApp.Click += OnSelectApp_Click; menu.DropDownItems.Add(selectedApp); }; mms.BeginInvoke(method1); mms.BeginInvoke(method2); mms.BeginInvoke(method3); }
//Java fix パラメータisJpを追加 //メニュー構築(内部テーブルの初期化) public void InitializeRemote(bool isJp) { if (_menuStrip == null) { return; } if (_menuStrip.InvokeRequired) { _menuStrip.BeginInvoke(new MethodInvoker(() => InitializeRemote(isJp))); } else { //Java fix _isJp = isJp; //全削除 _menuStrip.Items.Clear(); _ar.Clear(); var subMenu = new ListMenu { new OneMenu("File_Exit", "終了", "Exit", 'X', Keys.None) }; //「ファイル」メニュー var m = AddSubMenu(_menuStrip.Items, new OneMenu("File", "ファイル", "File", 'F', Keys.None)); AddListMenu(m, subMenu); } }
/** Menu registration using MethodInvoker */ private void PopulateSubMenuMethod(MenuStrip mms, ToolStripMenuItem menu, string subMenuText, Keys keys, EventHandler handler) { MethodInvoker method = delegate { var subMenuItem = new ToolStripMenuItem(subMenuText); subMenuItem.ShortcutKeys = keys; subMenuItem.Click += handler; menu.DropDownItems.Add(subMenuItem); }; mms.BeginInvoke(method); }
private void EnableMenuStripItem(MenuStrip menustrip, ToolStripMenuItem menu, bool enable) { if (menustrip.InvokeRequired) { EnableMenuStripItemCallback d = new EnableMenuStripItemCallback(EnableMenuStripItem); menustrip.BeginInvoke(d, new object[] { menustrip, menu, enable }); } else { menu.Enabled = enable; } }