Поделиться через


NodeInsertAndDeleteEventHandler Делегат (2007 System)

Обновлен: Ноябрь 2007

Представляет метод, обрабатывающий события AfterInsert и BeforeDelete элемента управления XMLNode, а также события AfterInsert и BeforeDelete элемента управления XMLNodes.

Пространство имен:  Microsoft.Office.Tools.Word
Сборка:  Microsoft.Office.Tools.Word.v9.0 (в Microsoft.Office.Tools.Word.v9.0.dll)

Синтаксис

'Декларация
Public Delegate Sub NodeInsertAndDeleteEventHandler ( _
    sender As Object, _
    e As NodeInsertAndDeleteEventArgs _
)
'Применение
Dim instance As New NodeInsertAndDeleteEventHandler(AddressOf HandlerMethod)
public delegate void NodeInsertAndDeleteEventHandler(
    Object sender,
    NodeInsertAndDeleteEventArgs e
)

Параметры

Заметки

При создании делегата NodeInsertAndDeleteEventHandler указывается метод обработки события. Чтобы связать событие с обработчиком событий, в событие нужно добавить экземпляр делегата. Обработчик событий вызывается при каждом возникновении события, пока не будет удален делегат. Дополнительные сведения о делегатах см. в разделе События и делегаты.

Примеры

В приведенном ниже примере кода демонстрируются обработчики событий AfterInsert и BeforeDelete. Перед удалением из документа объекта XMLNode, а также после добавления в документ объекта XMLNode данные обработчики событий выводят окно сообщения. Также в данном примере с помощью метода RemoveChild выполняется удаление узла и программное инициирование события BeforeDelete. В данном примере предполагается, что текущий документ содержит узел XMLNode с именем CustomerNode, содержащий дочерний узел с именем CustomerDateNode.

Private Sub XMLNodeInsertAndDelete()
    Me.CustomerNode.RemoveChild(Me.CustomerDateNode.InnerObject)
End Sub

Private Sub XMLNode_BeforeDelete(ByVal sender As Object, _
    ByVal e As Microsoft.Office.Tools.Word.NodeInsertAndDeleteEventArgs) _
    Handles CustomerDateNode.BeforeDelete

    Dim tempNode As Microsoft.Office.Tools.Word.XMLNode = _
        CType(sender, Microsoft.Office.Tools.Word.XMLNode)
    If e.InUndoRedo Then
        MsgBox(tempNode.BaseName & " element is about to be " & _
            "deleted as a result of an undo or redo operation.")
    Else
        MsgBox(tempNode.BaseName & " element is about to be " & _
            "deleted.")
    End If
End Sub

Private Sub XMLNode_AfterInsert(ByVal sender As Object, _
    ByVal e As Microsoft.Office.Tools.Word.NodeInsertAndDeleteEventArgs) _
    Handles CustomerDateNode.AfterInsert

    Dim tempNode As Microsoft.Office.Tools.Word.XMLNode = _
        CType(sender, Microsoft.Office.Tools.Word.XMLNode)

    If e.InUndoRedo Then
        MsgBox(tempNode.BaseName & " element was " & _
            "inserted as a result of an undo or redo operation.")
    Else
        MsgBox(tempNode.BaseName & " element was inserted.")
    End If
End Sub
private void XMLNodeInsertAndDelete()
{
    this.CustomerDateNode.AfterInsert +=
        new Microsoft.Office.Tools.Word.NodeInsertAndDeleteEventHandler(
        XMLNode_AfterInsert);

    this.CustomerDateNode.BeforeDelete +=
        new Microsoft.Office.Tools.Word.NodeInsertAndDeleteEventHandler(
        XMLNode_BeforeDelete);

    this.CustomerNode.RemoveChild(this.CustomerDateNode.InnerObject);
}

void XMLNode_BeforeDelete(object sender, 
    Microsoft.Office.Tools.Word.NodeInsertAndDeleteEventArgs e)
{
    Microsoft.Office.Tools.Word.XMLNode tempNode =
        (Microsoft.Office.Tools.Word.XMLNode)sender;

    if (e.InUndoRedo)
    {
        MessageBox.Show(tempNode.BaseName + " element is about to be " +
            "deleted as a result of an undo or redo operation.");
    }
    else
    {
        MessageBox.Show(tempNode.BaseName + " element is about to be " +
            "deleted.");
    }
}


void XMLNode_AfterInsert(object sender,
    Microsoft.Office.Tools.Word.NodeInsertAndDeleteEventArgs e)
{
    Microsoft.Office.Tools.Word.XMLNode tempNode =
        (Microsoft.Office.Tools.Word.XMLNode)sender;

    if (e.InUndoRedo)
    {
        MessageBox.Show(tempNode.BaseName + " element was " +
            "inserted as a result of an undo or redo operation.");
    }
    else
    {
        MessageBox.Show(tempNode.BaseName + " element was inserted.");
    }
}

См. также

Ссылки

Microsoft.Office.Tools.Word - пространство имен