다음을 통해 공유


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, FormEventsXmlEvents 클래스로 구현되는 모든 이벤트에 대해 이벤트 처리기를 바인딩하는 데 사용됩니다. 런타임 시 양식 서식 파일을 열고 모든 이벤트 처리기의 바인딩을 초기화할 때 InternalStartup 메서드가 실행됩니다.

참고 사항참고 사항

InfoPath에서 양식 서식 파일을 여는 경우에는 사용자가 양식 서식 파일을 열 때마다 InternalStartup 메서드가 호출됩니다. 반면 웹 브라우저에서 InfoPath Forms Services를 실행하는 SharePoint Server 2010의 적절하게 구성된 문서 라이브러리에 있는 양식 서식 파일을 여는 경우에는 양식 서식 파일 비즈니스 논리 어셈블리가 서버의 AppDomain에 처음 로드될 때에만 InternalStartup 메서드가 호출됩니다. 일반적으로 한 세션 동안 첫 번째 사용자가 양식 서식 파일의 인스턴스를 열 때 또는 AppDomain이 재생된 후가 이 경우에 해당됩니다.

다음 예제에서는 해당 대리자를 사용하여 양식의 Loading 이벤트, 필드의 Changed 이벤트, 단추 컨트롤의 Clicked 이벤트에 대해 이벤트 처리기를 바인딩하는 양식 서식 파일에서 FormCode 클래스(FormCode.cs 또는 FormCode.vb 파일)의 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

스레드 보안

이 형식의 모든 공용 static (Visual Basic의Shared ) 멤버는 스레드로부터 안전합니다. 모든 인스턴스 멤버는 스레드로부터 안전하지 않을 수도 있습니다.

참고 항목

참조

EventManager 멤버

Microsoft.Office.InfoPath 네임스페이스