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 MustOverride Event Sign As SignEventHandler
'Usage
Dim instance As FormEvents
Dim handler As SignEventHandler

AddHandler instance.Sign, handler
public abstract event SignEventHandler Sign

Ausnahmen

Ausnahme 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 vom Entwickler im Formularcode instanziiert werden. Ereignishandler für Ereignisse auf Formularebene sollten nur über die Microsoft InfoPath-Entwurfsmodus-Benutzeroberfläche hinzugefügt werden. Wenn Sie der Formularvorlage über die Entwurfsmodus-Benutzeroberfläche einen Ereignishandler hinzufügen, wird in InfoPath mithilfe der EventManager-Klasse und 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.

Das Sign-Ereignis wird mithilfe des SignEventHandler-Delegats gebunden.

Für die Ausführung eines Ereignishandlers dieses Ereignisses muss die Sicherheitsebene auf Voll vertrauenswürdig festgelegt werden. Zum Festlegen dieser Sicherheitsebene klicken Sie in InfoPath Designer auf die Registerkarte Datei und dann 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 nicht Mitglied einer bestimmten Gruppe ist.

Auf dieses Mitglied kann nur mithilfe von Formularen zugegriffen werden, die über eine Formularvorlage geöffnet wurden, die mithilfe der Kategorie "Sicherheit und Vertrauensstellung" im Dialogfeld "Formularoptionen" so konfiguriert wurde, dass sie mit voller Vertrauenswürdigkeit ausgeführt wird. Dieses Mitglied erfordert die volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer und kann von teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie auf MSDN unter "Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code".

Auf diesen Typ oder dieses Mitglied kann nur über Code zugegriffen werden, der in Formularen ausgeführt wird, die in Microsoft InfoPath Filler geöffnet wurden.

Beispiele

Im folgenden Beispiel, das auf der InfoPath-Entwurfsmodus-Benutzeroberfläche durch Hinzufügen eines Ereignishandlers für das Sign-Ereignis zum Formular erstellt wurde (durch Klicken auf Sign-Ereignis auf der Registerkarte Entwickler), wird dem 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