次の方法で共有


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 相互運用のためにマネージ コードで必要とされるコクラスのラッパーです。この型を使用して、このコクラスによって実装される COM インターフェイスのメンバにアクセスします。COM インターフェイスについては (このメンバの説明へのリンクを含む)、次を参照してください DocContextChangeEvent.

DocContextChangeEvent オブジェクトにはコンテキスト変更で使用可能なプロパティが多数あり、フォームの基になる XML ドキュメント内のデータの操作、コンテキストに応じたフィードバックの提供、およびユーザー向けのさまざまな操作をプログラムで行うことができます。

DocContextChangeEvent オブジェクトは、パラメータとして OnContextChange イベントに渡されます。

DocContextChangeEvent オブジェクトは、フォームの基になる XML ドキュメントの現在のコンテキストである XML ドキュメント オブジェクト モデル (DOM) ノードに関する情報を取得するために使用します。また、コンテキスト変更の種類に関する情報、およびコンテキスト変更がユーザーによる元に戻す操作またはやり直し操作に応える形で発生したのかどうかに関する情報も取得できます。

Type プロパティは、Microsoft InfoPath 2003 Service Pack 1 でのコンテキスト変更の "ContextNode" 値だけを返します。ただし、InfoPath の将来のバージョンでは異なるコンテキスト変更に対して異なる値を使用する可能性があるため、現在の機能に依存する操作を実行するイベント ハンドラについては、Type プロパティの値をチェックするようにコードを設計する必要があります。

IsUndoRedo プロパティが true の場合、コンテキスト変更はユーザーによる明示的な変更ではなく、元に戻す操作またはやり直し操作によって発生したものになります。ユーザーの意向とは無関係にデータを以前の状態に戻してしまうことがあるため、OnContextChange イベント内では元に戻す操作またはやり直し操作に応える形で XML DOM を変更する操作を実行しないでください。

次の例では、コンテキスト変更に対応して 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 名前空間