Gestión de Menús y Submenús

14/04/2010 - 07:22 por Rafael Villaran. RAVIPE | Informe spam
Hola a todos. Estoy haciendo una utilidad para cargar las opciones de menús
disponibles en un control MenúStrip en base de datos. El código que tengo es
muy fácil:

static public void RecargaOpcionesMenu(MenuStrip menu)
{
foreach (ToolStripItem tsi in menu.Items)
{
if (GuardaOpcion(tsi.Text,"",tsi.Visible, true))
{
if (tsi.GetType().Name == "ToolStripMenuItem")
{
ToolStripMenuItem t = (ToolStripMenuItem)tsi;
RecargaOpcionesMenu(t.DropDownItems,tsi.Text);
}
}
else
{
return;
}
}
}

static public void RecargaOpcionesMenu(ToolStripItemCollection
subMenu,string padre)
{
foreach (ToolStripItem tsi in subMenu)
{
if (GuardaOpcion(tsi.Text , padre ,tsi.Visible , true ))
{
if (tsi.GetType().Name == "ToolStripMenuItem")
{
ToolStripMenuItem t = (ToolStripMenuItem)tsi;
RecargaOpcionesMenu(t.DropDownItems,tsi.Text );
}
}
else
{
return;
}
}
}

Preguntas similare

Leer las respuestas

#1 Rafael Villaran. RAVIPE
14/04/2010 - 07:36 | Informe spam
Perdón le di antes de acabar de redactar. Continuo...

Si observáis llamo al método GuardaOpcion con 4 parámetros. El tercero
corresponde a la propiedad visible del elemento ToolStripItem que estoy
guardando.

Evidentemente en el menú que envío para iniciar la carga tengo opciones
principales, las que saldrán en la barra de menús inicialmente y cada una de
las opciones su opciones a la vez, en fín lo normal. En diseño a las opciones
y/o subopciones les pongo a algunas la propiedad visible a false. Si
observáis el código, gracias a la recursiva recorremos todos los elementos de
menú. Pués bien la propiedad visible únicamente la toma cuando la opción es
del nivel uno, por decirlo de alguna forma.
O sea, en las opciones : &Archivo->&Nuevo
->&Buscar
->
->&Salir

Por ejemplo, únicamente leerá correctamente la propiedad visible en la
opción &Archivo, en las otras opciones siempre a false.
¿Alguien sabe que está ocurriendo?
Muchas gracias como siempre por vuestra ayuda.
saludos.
rafael villaran
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida