diff --git a/PowerControl/Controller.cs b/PowerControl/Controller.cs index 02f9ebd..4cff97b 100644 --- a/PowerControl/Controller.cs +++ b/PowerControl/Controller.cs @@ -52,11 +52,6 @@ namespace PowerControl var contextMenu = new System.Windows.Forms.ContextMenuStrip(components); - contextMenu.Opening += delegate (object? sender, CancelEventArgs e) - { - rootMenu.Update(); - }; - rootMenu.Visible = false; rootMenu.Update(); rootMenu.CreateMenu(contextMenu); diff --git a/PowerControl/Menu/MenuItemWithOptions.cs b/PowerControl/Menu/MenuItemWithOptions.cs index 1e1a646..16363d1 100644 --- a/PowerControl/Menu/MenuItemWithOptions.cs +++ b/PowerControl/Menu/MenuItemWithOptions.cs @@ -27,19 +27,6 @@ namespace PowerControl.Menu FinalizeSet(); }; - - toolStripItem.DropDownOpening += delegate - { - toolStripItem.DropDownItems.Clear(); - - foreach (var option in Options) - { - var item = new ToolStripMenuItem(option); - item.Checked = option == (SelectedOption ?? ActiveOption); - item.Click += delegate { FinalizeSet(); }; - toolStripItem.DropDownItems.Add(item); - } - }; } public override void Reset() @@ -114,7 +101,22 @@ namespace PowerControl.Menu { toolStripItem.Text = Name; contextMenu.Items.Add(toolStripItem); - contextMenu.Opening += delegate { toolStripItem.Visible = Visible && Options.Count > 0; }; + contextMenu.Opening += delegate + { + Update(); + + toolStripItem.DropDownItems.Clear(); + + foreach (var option in Options) + { + var item = new ToolStripMenuItem(option); + item.Checked = option == (SelectedOption ?? ActiveOption); + item.Click += delegate { Set(option, true); }; + toolStripItem.DropDownItems.Add(item); + } + + toolStripItem.Visible = Visible && Options.Count > 0; + }; } private void SelectIndex(int index)