Red de conocimiento del abogados - Respuesta jurídica de la empresa - C# winform usa contextmenustrip para generar menús dinámicamente

C# winform usa contextmenustrip para generar menús dinámicamente

Código de muestra:

anulación protegida void OnLoad(EventArgs e)

{

base.OnLoad(e

//Agregar menú uno

ToolStripMenuItem subItem;

subItem = AddContextMenu("Noticias", contextMenuStrip1.Items, null

// Agregar submenú

AddContextMenu("Noticias de hoy", subItem.DropDownItems, nuevo EventHandler(MenuClicked));

AddContextMenu("Enfoque de hoy", subItem.DropDownItems, nuevo EventHandler(MenuClicked) );

//Agregar menú dos

subItem = AddContextMenu("Broma", contextMenuStrip1.Items, null

//Agregar submenú< /p); >

AddContextMenu("Broma moderna", subItem.DropDownItems, nuevo EventHandler(MenuClicked));

AddContextMenu("Broma antigua", subItem.DropDownItems, nuevo EventHandler(MenuClicked)); >

}

/// lt;summarygt;

/// Agregar submenú

/// lt;/summarygt;

/// lt; param name="text"gt; El texto a mostrar, si es -, se mostrará como una línea divisoria lt; / paramgt; lt; param name="cms"gt;La colección de submenús que se agregaránlt;/paramgt;

/// lt;param name="callback"gt;El evento que se activa al hacer cliclt;/ paramgt;

/// lt; devuelvegt; El submenú generado, si es una barra separadora, devuelve nulllt; devolución de llamada)

{

if (text == "-")

{

ToolStripSeparator tsp = new ToolStripSeparator(); /p>

cms.Add(tsp);

return null;

}

else if (!string.IsNullOrEmpty(text))

{

ToolStripMenuItem tsmi = nuevo ToolStripMenuItem(texto)

if (devolución de llamada! = nulo) tsmi.Click = devolución de llamada

cms.Add(tsmi); p>}

return null

}

void MenuClicked(remitente del objeto, EventArgs e)

{

MessageBox.Show("Hiciste clic en el elemento del menú [" ((remitente como ToolStripMenuItem).Text) "]");