次の方法で共有


EventManager クラス

フォーム テンプレートの InternalStartup メソッドでイベント ハンドラを初期化し、バインドするために使用します。

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

構文

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

コメント

EventManager クラスは、マネージ コードのフォーム プレートで、FormCode クラスの先頭の InternalStartup メソッドで ControlEventsFormEvents、および XmlEvents の各クラスによって実装されるすべてのイベントのイベント ハンドラをバインドするために InfoPath で使用します。実行時には、すべてのイベント ハンドラのバインドを初期化するために、フォーム テンプレートを開いたときに InternalStartup メソッドが実行されます。

メモメモ :

InfoPath でフォーム テンプレートが開かれている場合、ユーザーがそのフォーム テンプレートを開くたびに InternalStartup メソッドが呼び出されます。一方、Microsoft InfoPath Forms Services 2007、または InfoPath Forms Services を実行している Office SharePoint Server 2007 で適切に構成されたドキュメント ライブラリから、Web ブラウザでフォーム テンプレートを開くと、フォーム テンプレートのビジネス ロジック アセンブリがサーバー上の AppDomain に読み込まれたときに、InternalStartup メソッドが最初のみ呼び出されます。通常、これはセッション中にフォーム テンプレートのインスタンスを最初のユーザーが開いたときか、セッション中に AppDomain が再使用された場合に該当します。

次の例では、フォームの Loading イベント、フィールドの Changed イベント、および [ボタン] コントロールの Clicked イベントのイベント ハンドラを、対応する代理を使用してバインドするフォーム テンプレートの (FormCode.cs ファイルまたは FormCode.vb ファイルの) FormCode クラスの InternalStartup メソッドを示します。

メモ重要 :

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

public void InternalStartup()
{
   EventManager.FormEvents.Loading += 
      new LoadingEventHandler(FormEvents_Loading);
   EventManager.XmlEvents["/my:myFields/my:Name"].Changed += 
      new XmlChangedEventHandler(Name_Changed);
   ((ButtonEvent)EventManager.ControlEvents["MyBtn"]).Clicked += 
      new ClickedEventHandler(MyBtn_Clicked);
}
Private Sub InternalStartup(ByVal sender As Object, _
   ByVal e As EventArgs) Handles Me.Startup
   AddHandler EventManager.FormEvents.Loading, _
      AddressOf FormEvents_Loading
   AddHandler EventManager.XmlEvents("/my:myFields/my:Name").Changed, _
      AddressOf Name_Changed
   AddHandler DirectCast(EventManager.ControlEvents("MyBtn"), _
      ButtonEvent).Clicked, AddressOf MyBtn_Clicked
End Sub

継承階層

System.Object
  Microsoft.Office.InfoPath.EventManager

スレッド セーフ

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

関連項目

参照

EventManager のメンバ
Microsoft.Office.InfoPath 名前空間