共用方式為


DocContextChangeEventObject 介面

在 Microsoft Office InfoPath 2007 內容變更事件期間使用的事件物件。

**命名空間:**Microsoft.Office.Interop.InfoPath
**組件:**Microsoft.Office.Interop.InfoPath (於 microsoft.office.interop.infopath.dll 中)

語法

'宣告
<CoClassAttribute(GetType(DocContextChangeEventObjectClass))> _
<GuidAttribute("096CD6D2-0786-11D1-95FA-0080C78EE3BB")> _
Public Interface DocContextChangeEventObject
    Inherits DocContextChangeEvent
'用途
Dim instance As DocContextChangeEventObject
[CoClassAttribute(typeof(DocContextChangeEventObjectClass))] 
[GuidAttribute("096CD6D2-0786-11D1-95FA-0080C78EE3BB")] 
public interface DocContextChangeEventObject : DocContextChangeEvent

備註

此類型為 coclass 的包裝函式,屬於 COM 互通性中 Managed 程式碼的必要項。使用此類型,即可存取由此 coclass 實作的 COM 介面成員。如需 COM 介面 (包括其成員說明連結) 的詳細資訊,請參閱 DocContextChangeEvent

DocContextChangeEvent 物件會提供一些可以在內容變更內使用的屬性,以程式設計的方式與表單基礎 XML 文件中的資料互動、提供內容意見給使用者,或為使用者執行動作。

DocContextChangeEvent 物件以參數方式傳遞至 OnContextChange 事件。

DocContextChangeEvent 物件是用於取得 XML 文件物件模型 (DOM) 節點的相關資訊,而且該節點是表單基礎 XML 文件目前的內容。此外,它還會提供內容變更類型的相關資訊,以及是否發生變更以回應使用者所執行的復原或取消復原作業的相關資訊。

在 Microsoft InfoPath 2003 Service Pack 1 中,Type 屬性只會傳回 "ContextNode" 值以表示內容變更。不過,如果事件處理常式中的程式碼根據目前的功執行動作,則應該設計該程式碼檢查 Type 屬性的值,因為未來的 InfoPath 版本可能會對不同的內容變更使用不同值。

IsUndoRedo 屬性是 true 時,表示內容變更是由復原或取消復原作業所造成,而不是由明確的使用者內容變更所造成。在修改 XML DOM 的 OnContextChange 事件中執行的作業,應該避免回應復原或取消復原的動作,因為它們可能會干擾使用者將資料回復到先前狀態的原意。

範例

在下列範例中,會更新名為 lastChanged 的節點以回應內容變更:

public void OnContextChange(DocContextChangeEvent e)
{
 if ( e.Type == "ContextNode" && !e.IsUndoRedo )
 {
  IXMLDOMNode contextNode = e.Context;
  IXMLDOMNode lastChangedNode = thisXDocument.DOM.selectSingleNode("/my:myRoot/my:lastChanged");
  lastChangedNode.text = contextNode.nodeName;
 }
}

請參閱

參考

DocContextChangeEventObject 成員
Microsoft.Office.Interop.InfoPath 命名空間