XMLNode.BeforeDelete Событие (2007 System)
Обновлен: Ноябрь 2007
Происходит при удалении пользователем из документа элемента управления XMLNode непосредственно перед удалением.
Пространство имен: Microsoft.Office.Tools.Word
Сборка: Microsoft.Office.Tools.Word.v9.0 (в Microsoft.Office.Tools.Word.v9.0.dll)
Синтаксис
'Декларация
Public Event BeforeDelete As NodeInsertAndDeleteEventHandler
'Применение
Dim instance As XMLNode
Dim handler As NodeInsertAndDeleteEventHandler
AddHandler instance.BeforeDelete, handler
public event NodeInsertAndDeleteEventHandler BeforeDelete
Заметки
Если параметру InUndoRedo присвоено значение true, не следует изменять в документе код XML.
Примеры
В приведенном ниже примере кода демонстрируются обработчики событий 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.");
}
}
Разрешения
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.