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
Post a Comment