I have a dynamically generated context menu.
How do I reload all of the information in it every time it is clicked?
in the below the MyGlobals.ifparam array is altered frequently.
if (MyGlobals.ifparams[0, 0] != null)
{
ToolStripMenuItem mnuItemNet1 = new ToolStripMenuItem(MyGlobals.ifparams[0, 0]);
mnuContextMenu.Items.Add(mnuItemNet1);
mnuItemNet1.ToolTipText=MyGlobals.ifparams[0, 1];
ToolStripMenuItem mnuDHCP1 = new ToolStripMenuItem("DHCP");
ToolStripMenuItem mnuStatic1 = new ToolStripMenuItem("Static");
if (MyGlobals.ifparams[0, 8] == "1") { mnuDHCP1.Checked = true; mnuStatic1.Checked = false; }
else { mnuDHCP1.Checked = false; mnuStatic1.Checked = true; }
mnuItemNet1.DropDown = mnuContextMenu1;
ToolStripMenuItem mnuIP1 = new ToolStripMenuItem();
mnuIP1.Text = MyGlobals.ifparams[0, 3] + "/" + getCIDR(MyGlobals.ifparams[0, 4]);
mnuContextMenu1.Items.Add(mnuDHCP1);
mnuContextMenu1.Items.Add(mnuStatic1);
mnuContextMenu1.Items.Add(mnuIP1);
}
I’m mostly concerned with mnuContextMenu1.
Subscribe to the
Openingevent on the context menu class. Here you can rebuild the context menu before it’s shown.EDIT: Here is an example: