Я создаю плагин EXCEL, используя взаимодействие EXCEL, но вопрос более общий.
По сути, когда мы хотим добавить нашу собственную обработку к событию, мы можем добавить нашу обработку события, используя +=
, например:
private void MyEventHandling(...) {
// Do something
}
constructorMethod(...) {
// Do something
var objectThatTriggersEvent = ...;
objectThatTriggersEvent.Click += MyEventHandling;
}
Теперь, используя эту технику, действительно будет срабатывать MyEventHandling
, но я хотел бы добиться, чтобы MyEventHandling
выполнялся ПОСЛЕ базового обработчика события objectThatTriggersEvent
.
В моем конкретном случае я пишу это:
CommandBar cellCommandBars = plugin.Application.CommandBars["Cell"];
_onCellDelete = (CommandBarButton)cellCommandBars.FindControl(Id: CellOperationsId.Delete);
_onCellDelete.Click += new _CommandBarButtonEvents_ClickEventHandler(contextMenu.OnCellDelete);
Это означает, что, когда пользователь нажимает кнопку «Удалить» в контекстном меню, я запускаю contextMenu.OnCellDelete
функция. НО, используя +=
, как это, contextMenu.OnCellDelete
будет выполняться ДО базового обработчика событий.
Итак, вопрос в том, могу ли я добавить собственный обработчик событий, который выполняется ПОСЛЕ базовой обработки событий?
Надеюсь, я четко объяснил, чего бы я хотел достичь.