Boa noite gente.
quero desenhar uma função que aceite a criação de uma quantidade flexivel de SubMenus. conseguir fazer Utilizando uma lista para gerar os submenus, mas não consegui duas coisas que eu pretendia:
- fazer criar a função de maneira tal que a primeira string fosse o nome do menu e bastasse escrever outras strings para que automaticamente se tornassem submenus - uma função que pudesse aceitar uma quantidade indefinida de argumentos (ex.: DesenhaMenu("Menu 1", "Menu 1.1", "Menu 1.2","Menu 1.3", "Menu 1.4"...))
- tentei fazer uma sobrecarga para que a função ''DesenhaItemMenu(string texto)" pudesse aceitar ambas as formas de input, mas não consegui (tentei de diversas formas, mas num geral tinha o retorno "Uma variavel de local ou função denominada ... Já esta definida neste escopo")
Podem me sugerir uma maneira de fazer a função conforme o item 1? ou me indicar em qual curso da plataforma consigo obter esse conhecimento dos itens 1 e 2?
segue o código como consegui me resolver até o momento:
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
var MenuContextoEsquedo = new ContextMenuStrip();
List<string> subMenus = new List<string>
{
"Menu 1.1",
"Menu 1.2",
"Menu 1.3"
};
MenuContextoEsquedo.Items.Add(DesenhaItemMenuComSubMenus("Menu 1", subMenus));
MenuContextoEsquedo.Show(this, new Point(e.X, e.Y));
}
ToolStripMenuItem DesenhaItemMenu(string texto)
{
var vToolTip = new ToolStripMenuItem();
vToolTip.Text = texto;
return vToolTip;
}
ToolStripMenuItem DesenhaItemMenuComSubMenus(string texto, List<string> Submenus)
{
var vToolTip = new ToolStripMenuItem();
vToolTip.Text = texto;
foreach (var submenu in Submenus)
{
vToolTip.DropDownItems.Add(submenu);
}
return vToolTip;
}