PowerControl: Update MenuItem on Opening

This commit is contained in:
Kamil Trzciński 2022-12-19 23:45:28 +01:00
parent 81d4be30ce
commit f6dbf3c199
2 changed files with 16 additions and 19 deletions

View file

@ -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);

View file

@ -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)