다음을 통해 공유


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

주의

이 형식은 COM 상호 운용성을 위해 관리 코드에 필요한 coclass에 대한 래퍼입니다. 이 coclass에 의해 구현되는 COM 인터페이스의 구성원에 액세스하려면 이 형식을 사용하십시오. 해당 구성원의 설명에 대한 링크를 비롯한 COM 인터페이스에 대한 자세한 내용은 다음을 참고하십시오. DocContextChangeEvent.

DocContextChangeEvent 개체는 양식의 원본으로 사용하는 XML 문서의 데이터와 프로그래밍 방식을 통해 상호 작용하거나, 사용자에게 컨텍스트 피드백을 제공하거나 사용자의 작업을 실행하기 위해 컨텍스트 변경 안에서 사용할 수 있는 다양한 속성을 제공합니다.

DocContextChangeEvent 개체는 OnContextChange 이벤트에 매개 변수로서 전달됩니다.

DocContextChangeEvent 개체를 사용하면 양식의 원본으로 사용하는 XML 문서의 현재 컨텍스트인 XML DOM(Document Object Model) 노드에 대한 정보를 가져올 수 있습니다. 또한 이 개체는 컨텍스트 변경 유형에 대한 정보를 제공하고 사용자가 수행하는 실행 취소 또는 다시 실행 작업에 대한 응답으로 변경이 발생했는지 확인합니다.

Type 속성은 Microsoft InfoPath 2003 서비스 팩 1의 컨텍스트 변경에 대해 "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 네임스페이스