Compartilhar via


Conexão com manipuladores de eventos personalizados

O Outlook gera eventos para notificar suplementos sobre algo que está acontecendo, como o recebimento de um novo item de email na Caixa de Entrada. Os suplementos podem especificar para o Outlook que, após a ocorrência de um evento específico, deverão ocorrer certas ações. Este mecanismo de alerta e callback é suportado por representantes do .NET Framework. Assembly de Interoperabilidade Primária do Outlook (PIA) define representantes aos quais você pode conectar métodos de callback para manipular eventos correspondentes. Este tópico descreve o processo de definir um método de callback e de conectá-lo como um manipulador de eventos para o objeto do Outlook.

Criar um método de callback

Um callback é um método implementado para manipular a ocorrência de um evento específico, e é executado por uma fonte de notificação. No Outlook, os suplementos podem implementar métodos de callback para responder a certos eventos gerados pelo Outlook. O método de callback deve corresponder à assinatura do representante do evento. Por exemplo, para implementar um manipulador de eventos para o evento ItemSend, você precisa declarar o método de callback que corresponde à assinatura do representante correspondente:

public delegate void ApplicationEvents_11_ItemSendEventHandler(object Item, ref bool Cancel)
Public Delegate Sub ApplicationEvents_11_ItemSendEventHandler(_
    ByVal Item As Object, ByRef Cancel As Boolean)

Ao definir o método de callback, ignore a palavra-chace Delegate que, do contrário, definiria outro representante. Uma amostra de método de callback, MyItemSendEventHandler, é mostrada abaixo:

public void MyItemSendEventHandler(object Item, ref bool Cancel)
Public Sub MyItemSendEventHandler (_
    ByVal Item As Object, ByRef Cancel As Boolean)
…
End Sub

Conexão com um método de callback

Após implementar um método de callback para um evento, você pode conectá-lo ao objeto do Outlook de modo que o Outlook saiba que deve chamar o método como um manipulador de eventos daquele evento. Observe que um evento pode ser manipulado por mais de um manipulador de eventos, e é aqui que entram em jogo os representantes que atribuem a manipulação de eventos a manipuladores de eventos.

Continuando com o último exemplo de especificar um manipulador de eventos para o evento ItemSend do objeto Application , conectar MyItemSendEventHandler ao objeto Application em C#, criar uma instância do objeto delegado, passar MyItemSendEventHandler ao construtor do objeto delegado e, em seguida, adicionar esse objeto delegado ao evento ItemSend usando o operador +=:

app.ItemSend += new ApplicationEvents_11_ItemSendEventHandler(MyItemSendEventHandler)

No Visual Basic, use instrução AddHandler para associar o evento ItemSend ao manipulador de eventos MyItemSendEventHandler:

AddHandler app.ItemSend, AddressOf MyItemSendEventHandler

Confira também