방법: 런타임 환경을 확인하는 조건부 논리 작성
Application 클래스의 Environment 속성은 양식을 여는 데 사용된 런타임 환경(InfoPath, 웹 브라우저 또는 모바일 브라우저)을 확인할 수 있는 Environment 개체에 대한 참조를 가져옵니다.
예제
양식을 실행 중인 런타임 환경 확인
Environment 클래스는 양식 서식 파일을 여는 데 사용된 편집 환경을 확인할 수 있는 IsBrowser 및 IsMobile 속성을 제공합니다. 두 속성이 모두 false를 반환하면 양식 서식 파일이 Microsoft Office InfoPath 2007 에서 열린 것입니다. 두 속성 중 하나가 true를 반환한다면 양식 서식 파일은 Microsoft Office Forms Server 2007 또는 해당 속성의 프로그램에서 InfoPath Forms Services 를 실행하는 Microsoft Office SharePoint Server 2007 의 적절하게 구성된 문서 라이브러리, 즉 웹 브라우저(IsBrowser 속성) 또는 모바일 브라우저(IsMobile 속성)에서 열린 것입니다.
다음 예제에서 양식을 브라우저나 모바일 브라우저에서 여는 경우 텍스트 상자 컨트롤에 바인딩된 field1의 값이 양식을 연 런타임 환경을 나타내는 문자열로 설정됩니다. InfoPath에서 양식을 열면 System.Windows.Forms.MessageBox.Show 메서드가 메시지 상자를 표시하는 데 사용됩니다. 브라우저에서 양식을 실행하는 경우에는 이 메서드를 사용할 수 없습니다.
![]() |
---|
다음 코드 예제에 대한 양식 서식 파일을 만드는 경우 양식 서식 파일 디자인 대화 상자에서 브라우저 호환 기능만 사용 확인란을 선택합니다. 또는 양식 옵션 대화 상자의 호환성 범주에 있는 브라우저 또는 InfoPath에서 열 수 있는 양식 서식 파일 디자인 확인란을 선택할 수 있습니다. MessageBox 클래스를 지원하려면 VSTA(Microsoft Visual Studio Tools for Applications) 또는 Visual Studio에 있는 참조 추가 대화 상자의 .NET 탭에서 System.Windows.Forms에 대한 참조를 추가한 다음 양식 코드 모듈의 선언 섹션에 System.Windows.Forms에 대한 using 또는 Imports 지시문을 추가합니다. |
if(this.Application.Environment.IsBrowser)
{
CreateNavigator().SelectSingleNode(
"/my:myFields/my:field1", NamespaceManager).
SetValue("Running in a browser.");
}
else if (this.Application.Environment.IsMobile)
{
CreateNavigator().SelectSingleNode(
"/my:myFields/my:field1", NamespaceManager).
SetValue("Running in a mobile browser.");
}
else
{
MessageBox.Show("This form is running in InfoPath.");
}
If (Me.Application.Environment.IsBrowser) Then
CreateNavigator().SelectSingleNode(_
"/my:myFields/my:field1", NamespaceManager). _
SetValue("Running in a browser.")
ElseIf (Me.Application.Environment.IsMobile) Then
CreateNavigator().SelectSingleNode( _
"/my:myFields/my:field1", NamespaceManager). _
SetValue("Running in a mobile browser.")
Else
MessageBox.Show("This form is running in InfoPath.")
End If