次の方法で共有


DocContextChangeEventObject インターフェイス

Microsoft Office InfoPath 2007 コンテキスト変更イベントで使用されるイベント オブジェクト。

 

名前空間: Microsoft.Office.Interop.InfoPath.SemiTrust
アセンブリ: Microsoft.Office.Interop.InfoPath.SemiTrust (microsoft.office.interop.infopath.semitrust.dll 内)

構文

'宣言
<CLSCompliantAttribute(False)> _
<CoClassAttribute(GetType(DocContextChangeEventObjectWrapper))> _
<GuidAttribute("096cd6d2-0786-11d1-95fa-0080c78ee3bb")> _
Public Interface DocContextChangeEventObject
    Inherits DocContextChangeEvent, DocEvent
'使用
Dim instance As DocContextChangeEventObject
[CLSCompliantAttribute(false)] 
[CoClassAttribute(typeof(DocContextChangeEventObjectWrapper))] 
[GuidAttribute("096cd6d2-0786-11d1-95fa-0080c78ee3bb")] 
public interface DocContextChangeEventObject : DocContextChangeEvent, DocEvent

コメント

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

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

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

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

Type プロパティは、Microsoft Office InfoPath 2007 のコンテキスト変更について値 "ContextNode" のみを返します。ただし、イベント ハンドラで現在の機能に依存する操作を実行する場合は、InfoPath の今後のバージョンでコンテキスト変更に使用される値が変更されることも考えられるため、Type プロパティの値を確認するようにコードを設計する必要があります。

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

次の例では、コンテキスト変更に応えて lastChanged というノードを更新しています。

[InfoPathEventHandler(EventType=InfoPathEventType.OnContextChange)]
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.SemiTrust 名前空間