다음을 통해 공유


FormEvents.Sign 이벤트

디지털 서명 대화 상자를 통해 서명할 서명된 데이터 집합을 선택한 후에 발생합니다.

네임스페이스: Microsoft.Office.InfoPath
어셈블리: Microsoft.Office.InfoPath(microsoft.office.infopath.dll)

구문

Public Event Sign As SignEventHandler

Dim instance As FormEvents
Dim handler As SignEventHandler

AddHandler instance.Sign, handler
public abstract event SignEventHandler Sign

예외

예외 형식 조건

InvalidOperationException

개발자가 InternalStartup 메서드가 아닌 다른 위치의 이벤트를 바인딩하려고 했습니다.

SecurityException

양식 옵션 대화 상자의 보안 및 신뢰 범주를 사용하여 양식 서식 파일이 전체 신뢰로 구성되어 있지 않습니다.

주의

중요:

Sign 이벤트는 양식 코드에서 개발자가 인스턴스화하지 않습니다. Microsoft Office InfoPath 2007 디자인 모드 사용자 인터페이스에서 양식 수준 이벤트에 대해서만 이벤트 처리기를 추가해야 합니다. 디자인 모드 사용자 인터페이스에서 양식 서식 파일에 이벤트 처리기를 추가하면 InfoPath에서 EventManager 클래스와 FormEvents 클래스의 구성원으로 양식 코드의 InternalStartup 메서드를 생성하여 이벤트를 해당 이벤트 처리기에 바인딩합니다. InfoPath 디자인 모드에서 이벤트 처리기를 추가하는 방법에 대한 자세한 내용은 방법: 이벤트 처리기 추가를 참고하십시오.

Sign 이벤트는 SignEventHandler 대리자를 사용하여 바인딩됩니다.

이 이벤트에 대한 이벤트 처리기를 실행하려면 전체 신뢰 보안 수준이 필요합니다. 이 보안 수준을 설정하려면 InfoPath 디자인 창에서 도구 메뉴의 양식 옵션을 클릭하여 보안 및 신뢰를 선택하고 자동으로 보안 수준 결정을 선택 취소한 다음 전체 신뢰를 선택합니다. 전체 신뢰 보안 수준으로 설정된 양식은 설치되거나 디지털 서명되어야 합니다.

Sign 이벤트에 대한 이벤트 처리기를 사용하여 추가 데이터를 디지털 서명에 추가할 수 있습니다. 예를 들어 신뢰할 수 있는 타임스탬프 서버로부터 데이터를 추가하거나 트랜잭션의 서버 쪽 부서를 추가할 수 있습니다. 현재 사용자가 특정 그룹의 구성원이 아닌 경우에는 이 이벤트 처리기를 사용하여 서명을 차단할 수도 있습니다.

이 멤버는 양식 옵션 대화 상자의 보안 및 신뢰 범주에서 완전히 신뢰할 수 있는 상태로 실행되도록 구성된 양식 서식 파일에서 열린 양식에서만 액세스할 수 있습니다. 이 멤버를 사용하려면 직접 호출자에 대한 전체 신뢰가 필요합니다. 자세한 내용은 MSDN의 "부분 신뢰 코드에서 라이브러리 사용"을 참고하십시오.

이 형식 또는 구성원은 Microsoft Office InfoPath 2007에서 연 양식에서 실행되는 코드에서만 액세스할 수 있습니다.

예제

다음 예제에서는 InfoPath 디자인 모드 사용자 인터페이스에서 도구 메뉴의 프로그래밍을 선택하여 Sign 이벤트에 대한 이벤트 처리기를 양식에 추가함으로써 만든 디지털 서명을 Signature 클래스의 Sign 메서드를 사용하여 양식에 추가합니다.

public void FormEvents_Sign(object sender, SignEventArgs e)
{
   // This event handler will run only in fully trusted form templates.

   Signature thisSignature = 
     e.SignedDataBlock.Signatures.CreateSignature();

   // To add other pieces of information to sign, modify the
   // signature template returned by 
   // thisSignature.SignatureBlockXmlNode.
   // Write your code here.

   thisSignature.Sign();
   e.SignatureWizard = false;
}
Public Sub FormEvents_Sign(ByVal sender As Object, _
   ByVal e As SignEventArgs)
   ' This event handler will run only in fully trusted form templates.

   Dim thisSignature As Signature = _
     e.SignedDataBlock.Signatures.CreateSignature

   ' To add other pieces of information to sign, modify the
   ' signature template returned by 
   ' thisSignature.SignatureBlockXmlNode.
   ' Write your code here.

   thisSignature.Sign()
   e.SignatureWizard = False
}

참고 항목

참조

FormEvents 클래스
FormEvents 구성원
Microsoft.Office.InfoPath 네임스페이스