次の方法で共有


XmlEvents クラス

フォーム テンプレートに対するすべての XmlEvent イベントのコレクション。

継承階層

System.Object
  Microsoft.Office.InfoPath.XmlEvents

名前空間:  Microsoft.Office.InfoPath
アセンブリ:  Microsoft.Office.InfoPath (Microsoft.Office.InfoPath.dll)

構文

'宣言
Public MustInherit Class XmlEvents
'使用
Dim instance As XmlEvents
public abstract class XmlEvents

解説

マネージ コード フォーム テンプレートでは、FormCode クラスの先頭にある InternalStartup メソッドで、XmlEvents コレクションと XmlEvent クラスを使用して、ドキュメント ベースのイベント (フォームの基になる XML ドキュメントのフィールドまたはグループに対する Changed イベントなど) をイベント ハンドラーにバインドします。実行時には、フォーム テンプレートを開くと InternalStartup メソッドが実行されて、すべてのイベント ハンドラーのバインドが初期化されます。

重要

InternalStartup メソッドとメソッド内のイベント バインド コードは、ユーザー インターフェイスのさまざまなコマンドを使用してイベント ハンドラーを追加すると、InfoPath によって生成されます。自分で InternalStartup メソッドを作成したり、メソッド内にコードを追加したりしないでください。インターフェイス コマンドを使用してイベント ハンドラーを追加する方法については、「[方法] イベント ハンドラーを追加する方法」を参照してください。

次の例では、InfoPath によって InternalStartup メソッドに生成されるコードを示します。このコードは、XmlEvents クラスの XmlEvents.Item[String] プロパティを使用して、フォームの基になる XML ドキュメントのフィールドに関連付けられる Validating イベントのイベント ハンドラーをバインドします。また、Categories というセカンダリ データ ソースの CategoryName 列にバインドされるフィールドの Changed イベントに対して生成される、XmlEvents クラスの XmlEvents.Item[String, String] プロパティを使用したコードも示されています。

public void InternalStartup()
{
   EventManager.XmlEvents["/my:myFields/my:field1"].Validating 
      += new XmlChangedEventHandler(field1_Validating);
   EventManager.XmlEvents[
      "/dfs:myFields/dfs:dataFields/d:Categories/@CategoryName", 
      "Categories"].Changed 
      += new XmlChangedEventHandler(
      Categories__CategoryName_attr_Changed);
}
Private Sub InternalStartup(ByVal sender As Object, _
   ByVal e As EventArgs) Handles Me.Startup
   AddHandler EventManager.XmlEvents( _
      "/my:myFields/my:field1").Validating, _
      AddressOf field2_Validating
   AddHandler EventManager.XmlEvents( _
      "/dfs:myFields/dfs:dataFields/d:Categories/@CategoryName", _
      "Categories").Changed, _
      AddressOf Categories__CategoryName_attr_Changed
End Sub

スレッドの安全性

この型の public static (Visual Basic ではShared ) メンバーはスレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

関連項目

参照

XmlEvents メンバー

Microsoft.Office.InfoPath 名前空間