Freigeben über


FormEvents.Sign-Ereignis

Tritt ein, nachdem eine Gruppe signierter Daten im Dialogfeld Digitale Signaturen zum Signieren ausgewählt wurde.

Namespace: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in microsoft.office.infopath.dll)

Syntax

'Declaration
Public Event Sign As SignEventHandler
'Usage
Dim instance As FormEvents
Dim handler As SignEventHandler

AddHandler instance.Sign, handler
public abstract event SignEventHandler Sign

Ausnahmen

Ausnahmetyp Bedingung

InvalidOperationException

Es wurde versucht, das Ereignis an einen anderen Speicherort als die InternalStartup-Methode zu binden.

SecurityException

Die Formularvorlage ist in der Kategorie Sicherheit und Vertrauensstellung der Dialogfeldes Formularoptionen nicht auf Voll Vertrauenswürdig festgelegt.

Hinweise

Wichtig

Das Sign-Ereignis sollte nicht im Formularcode instanziiert werden. Ereignishandler sollten Ereignissen auf Formularebene nur von der Entwurfsmodus-Benutzeroberfläche von Microsoft Office InfoPath 2007 aus hinzugefügt werden. Wenn Sie der Formularvorlage von der Entwurfsmodus-Benutzeroberfläche aus einen Ereignishandler hinzufügen, wird in InfoPath mithilfe der EventManager-Klasse und mithilfe des Members der FormEvents-Klasse in der InternalStartup-Methode der Formularcodedatei Code generiert, um das Ereignis an den zugehörigen Ereignishandler zu binden. Weitere Informationen zum Hinzufügen von Ereignishandlern im InfoPath-Entwurfsmodus finden Sie unter Vorgehensweise: Hinzufügen eines Ereignishandlers.

Die Bindung des Sign-Ereignisses erfolgt mithilfe des SignEventHandler-Delegaten.

Für die Ausführung eines Ereignishandlers dieses Ereignisses ist das Festlegen der Sicherheitsebene auf voll vertrauenswürdig erforderlich. Klicken Sie zum Festlegen dieser Sicherheitsebene im InfoPath-Entwurfsfenster im Menü Extras auf Formularoptionen. Wählen Sie Sicherheit und Vertrauensstellung aus, deaktivieren Sie Sicherheitsstufe automatisch ermitteln, und wählen Sie dann Voll Vertrauenswürdig aus. Ein auf die Sicherheitsebene Voll Vertrauenswürdig festgelegtes Formular muss installiert oder digital signiert werden.

Sie können mithilfe des Ereignishandlers des Sign-Ereignisses der digitalen Signatur zusätzliche Daten hinzufügen. So können Sie beispielsweise Daten eines vertrauenswürdigen Zeitstempelservers oder eine serverseitige Gegensignatur der Transaktion hinzufügen. Sie können mit dem Ereignishandler auch weitere Signaturen blockieren, wenn der aktuelle Benutzer kein Mitglied einer bestimmten Gruppe ist.

Auf den Member kann nur über Formulare zugegriffen werden, die über eine Formularvorlage geöffnet werden. Die Formularvorlage muss zum voll vertrauenswürdigen Ausführen mithilfe der Kategorie "Sicherheit und Vertrauensstellung" des Dialogfelds "Formularoptionen" konfiguriert werden. Der Member erfordert volle Vertrauenswürdigkeit für den sofortigen Aufrufer und kann nicht von teilweise vertrauenswürdigem Code verwendet werden. Weitere Informationen finden Sie unter "Using Libraries from Partially Trusted Code" (in Englisch) auf MSDN.

Auf diesen Typ oder diesen Member kann nur über Code zugegriffen werden, der in Formularen ausgeführt wird, die mit Microsoft Office InfoPath 2007 geöffnet wurden.

Beispiel

Im folgenden Beispiel, das in der InfoPath-Entwurfsmodus-Benutzeroberfläche (im Menü Extras unter Programmierung) durch Hinzufügen eines Ereignishandlers für das Sign-Ereignis erstellt wurde, wird im Formular mithilfe der Sign-Methode der Signature-Klasse eine digitale Signatur hinzugefügt:

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
}

Siehe auch

Referenz

FormEvents-Klasse
FormEvents-Member
Microsoft.Office.InfoPath-Namespace