本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

NodeInsertAndDeleteEventHandler 委派

 

表示方法,這個方法可處理 XMLNode 控制項的 AfterInsertBeforeDelete 事件,以及 XMLNodes 控制項的 AfterInsertBeforeDelete 事件。

命名空間:   Microsoft.Office.Tools.Word
組件:  Microsoft.Office.Tools.Word (在 Microsoft.Office.Tools.Word.dll 中)

public delegate void NodeInsertAndDeleteEventHandler(
	object sender,
	NodeInsertAndDeleteEventArgs e
)

參數

sender

事件的來源。

e
Type: Microsoft.Office.Tools.Word.NodeInsertAndDeleteEventArgs

包含事件資料的 NodeInsertAndDeleteEventArgs

在建立 NodeInsertAndDeleteEventHandler 委派 (Delegate) 時,您要識別處理事件的方法。若要讓此事件與您的事件處理常式產生關聯,請將委派的執行個體加入至此事件。在您移除該委派之前,每當事件發生,就會呼叫事件處理常式。

下列程式碼範例會示範 AfterInsertBeforeDelete 事件的事件處理常式。這些事件處理常式在刪除文件中的 XMLNode 之前和加入 XMLNode 至文件之後,會顯示訊息方塊。此範例也會使用 RemoveChild 方法刪除節點,並以程式設計方式引發 BeforeDelete 事件。這個範例假設目前的文件有包含名為 CustomerNodeXMLNode,其中包含名為 CustomerDateNode 的子節點。

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.");
    }
}
回到頁首
顯示: