Добавить обработчик события, выполненный последним - PullRequest
0 голосов
/ 14 октября 2019

Я создаю плагин 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 будет выполняться ДО базового обработчика событий.

Итак, вопрос в том, могу ли я добавить собственный обработчик событий, который выполняется ПОСЛЕ базовой обработки событий?

Надеюсь, я четко объяснил, чего бы я хотел достичь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...