9.3. Регистрация и отмена регистрации событий

Источник здесь. [перевод не проверен] ;[Переводчик: Богданов Михаил]

    Пред тем как станет возможно реагировать на событие, оно должны быть зарегистрировано в AutoCAD. Вы регистрируете событие путем создания нового обработчика событий нужного типа и назначения его на объект, в котором вы хотите зарегистрировать событие. После того как вы завершили работу с событием, лучше отменить регистрацию события, чтобы свести к минимуму конфликты с другими реакторами, а также уменьшить объем занимаемой памяти и загрузку процессора, которые требует AutoCAD для поддержания вашего обработчика событий.

Регистрация событий

    Вы регистрируете событие путем добавления обработчика событий к событию. Объект обработчика событий требует процедуру, которая должна быть определена в проекте. Большинство обработчиков событий требует процедуру, которая принимает два paramters, один - тип объекта, а другой представляет собой возвращение аргументы события. Вы регистрируете событие с помощью оператора AddHandler на VB.NET или оператора C # «+ =». 

    Следующий код регистрирует процедуру appSysVarChanged объектного типа SystemVariableChangedEventHandler на событие SystemVariableChanged. Процедура AppSysVarChanged имеет два параметра: Object и SystemVariableChangedEventArgs. SystemVariableChangedEventArgs возвращает имя системной переменной, которая изменилась, когда событие было зарегистрировано.

Код VB.NET

  1:  AddHandler Application.SystemVariableChanged, AddressOf appSysVarChanged

Код C# 

   1:  Application.SystemVariableChanged +=
   2:  new SystemVariableChangedEventHandler(appSysVarChanged)

Отмена регистрации событий

    Отмена регистрации событий производится путем удаления обработчика из события в котором он зарегистрирован. Вы можете использовать тот же синтаксис, который был использован для регистрации событий, за исключением оператора RemoveHandler и оператора «-=»

Следующий код отменяет регистрацию процедуры appSysVarChanged объектного типа SystemVariableChangedEventHandler на событие SystemVariableChanged.

Код VB.NET

   1:  RemoveHandler Application.SystemVariableChanged, AddressOf appSysVarChanged

Код C#

   1:  Application.SystemVariableChanged +=
   2:  new SystemVariableChangedEventHandler(appSysVarChanged)

Comments