EventManager クラス
フォーム テンプレートの InternalStartup メソッドでイベント ハンドラーを初期化し、バインドするために使用します。
継承階層
System.Object
Microsoft.Office.InfoPath.EventManager
名前空間: 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 メソッドで ControlEvents、FormEvents、および XmlEvents の各クラスによって実装されるすべてのイベントのイベント ハンドラーをバインドするために InfoPath で使用します。実行時には、すべてのイベント ハンドラーのバインドを初期化するために、フォーム テンプレートを開いたときに InternalStartup メソッドが実行されます。
注意
InfoPath でフォーム テンプレートが開かれている場合、ユーザーがそのフォーム テンプレートを開くたびに InternalStartup メソッドが呼び出されます。一方、InfoPath Forms Services を実行している SharePoint Server 2010 で適切に構成されたドキュメント ライブラリから、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
スレッドの安全性
この型の public static (Visual Basic ではShared ) メンバーはスレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。