events - C# (outlook add-in) context menu on folders -


in vsto outlook addin i'm trying put button show when right click on folder. in startup function have this:

outlook.application myapp = new outlook.applicationclass(); myapp.foldercontextmenudisplay += new applicationevents_11_foldercontextmenudisplayeventhandler(myapp_foldercontextmenudisplay); 

then have handler that...

void myapp_foldercontextmenudisplay(commandbar commandbar, mapifolder folder) {     var contextbutton = commandbar.controls.add(msocontroltype.msocontrolbutton, missing, missing, missing, true) commandbarbutton;     contextbutton.visible = true;     contextbutton.caption = "some caption...";     contextbutton.click += new _commandbarbuttonevents_clickeventhandler(contextbutton_click); } 

and handler click....

void contextbutton_click(commandbarbutton ctrl, ref bool canceldefault) {     //stuff here } 

my question how send mapifolder folder myapp_foldercontextmenudisplay contextbutton_click ?

(if can done way, i'm open suggestions too)

easiest way use closure, example:

// folder local variable in scope, such code in post contextbutton.click += (commandbarbutton ctrl, ref bool cancel) => {    doreallstuff(ctrl, folder, ref cancel); }; 

make sure clean event, if required. 1 thing watch out rcw folder may have "extended lifetime" closure may keep alive longer before (but oom is very important manually release rcws when not needed.)

happy coding.


Comments

Popular posts from this blog

php - What is the difference between $_SERVER['PATH_INFO'] and $_SERVER['ORIG_PATH_INFO']? -

fortran - Function return type mismatch -

queue - mq_receive: message too long -