Pepe,
Solo para aclarar las cosas en mi cabeza:
Lo que queres hacer es:
mainMenu1.MenuItems.Add ("&Edit", new EventHandler (menuItem2_Click));
mainMenu1.MenuItems.Add ("&Print", new EventHandler (menuItem3_Click));
mainMenu1.MenuItems.Add ("&Save", new EventHandler (menuItem4_Click));
...
Se me ocurre crear algo asi
Dictionary<string, object> submenus = new Dictionary<string, object>()
que llenaría con los titulos de los submenus y con las rutinas de ejecución
luego crearía una función que generara el submenu con las claves asi
foreach (string s in submenus.keys)
{
menuitem m = new menuitem()
m.name = s;
m.text = s;
m.click += eventhandler (submenus_click);
mainmenu.menuitems.add(m);
}
Y por supuesto en submenus_click tenes que determinar con sender.name quien
es el que llama para que entrando en el diccionario sepas que rutina ejecutar.
Costo: Un monton de objetos nuevos en memoria.
Ventajas: Tener armados los diccionarios para distintos juegos de submenus.
Espero que sirva
Saludos
Jorge
Pepe Ballaga <[EMAIL PROTECTED]> escribió:
Ok. creo que no me hice entender bien. Estoy generando un menú dinamicamente.
el menu tiene los items y a estos items
tengo que asociarles pues comandos y llamadas a otros formularios.
pues bien por eso hago:
mainMenu1.MenuItems.Add ("&Edit", new EventHandler (menuItem2_Click));
ahi le estoy diciendo al menu que añada un menu item y que a este menuitem le
agrege el evento menuItem_Click
hasta eso está claro. el problema es que dentro del evento menuItem_Click,
necesito saber que item del menu es para en
dependencia de esto hacer cosas:
private void menuItem2_Click(System.Object sender, System.EventArgs e )
{
// aqui va el codigo que espera el parametro nuevo
//aq2ui necesito saber con que item del menu estoy trabajando para en
dependecia de esto tratar el codigo, por eso pense
en pasarle el item del menu como parametro
}
Perdonen la molestia. Espero que me haya hecho entender. Gracias. Nos Leemos
-----Original Message-----
From: "Pablo A. Allois"
To:
Date: Thu, 7 Feb 2008 15:37:05 -0200
Subject: [***SPAM*** Score/Req: 05.90/05.00] [puntonet] RE: [puntonet]
necesidad de pasarle un parámetro a u n
eventhandler
> Pepe,
>
> El parametro "MenuItem nuevo" va a contener un item y el metodo se
> tiene que ejecutar en el click de un item ?
>
> Te pregunto, si no es asi que va a contener la variable nuevo ? Y
> como obtenes el objeto al que va a apuntar la variable en el click ?
>
> Te pregunto no termino de entender que queres lograr con ese codigo.
>
>
> Saludos!
>
> -----Mensaje original-----
> De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Pepe
> Ballaga
> Enviado el: Jueves, 07 de Febrero de 2008 02:02 p.m.
> Para: [email protected]
> Asunto: [puntonet] necesidad de pasarle un parámetro a un eventhandler
>
> holaaa. tengo esto
>
> private void menuItem2_Click(System.Object sender, System.EventArgs e ,
> MenuItem nuevo ) {
> // aqui va el codigo que espera el parametro nuevo }
>
> tengo un menu y le estoy agregando items dinámicamente.
> Necesito pasarle el parámetro nuevo a esto. la instruccion que tengo es
> esta. que por supuesto me da error.
>
> mainMenu1.MenuItems.Add ("&Edit", new EventHandler (menuItem2_Click));
>
> ¿alguna idea de como hacerlo?. ¿como puedo pasarle el parámetro?.
> gracias.
> Nos leemos
---------------------------------
Tarjeta de crédito Yahoo! de Banco Supervielle.Solicitá tu nueva Tarjeta de
crédito. De tu PC directo a tu casa.
Visitá www.tuprimeratarjeta.com.ar