Partager via


FormEvents.Sign, événement

Se produit une fois qu'un ensemble de données signées a été sélectionné pour une signature via la boîte de dialogue Signature numérique.

Espace de noms : Microsoft.Office.InfoPath
Assembly : Microsoft.Office.InfoPath (dans microsoft.office.infopath.dll)

Syntaxe

Public Event Sign As SignEventHandler

Dim instance As FormEvents
Dim handler As SignEventHandler

AddHandler instance.Sign, handler
public abstract event SignEventHandler Sign

Exceptions

Type d'exception Condition

InvalidOperationException

Le développeur a tenté de lier l'événement dans un emplacement autre que la méthode InternalStartup.

SecurityException

Le modèle de formulaire n'est pas configuré avec l'option Autorisation totale de la catégorie Sécurité et approbation dans la boîte de dialogue Options de formulaire.

Remarques

Important :

L'événement Sign n'est pas destiné à être instancié par le développeur dans le code de formulaire. Vous ne devez ajouter des gestionnaires d'événements pour les événements au niveau du formulaire qu'à partir de l'interface utilisateur Microsoft Office InfoPath 2007 en mode Création. Lorsque vous ajoutez un gestionnaire d'événements à votre modèle de formulaire à partir de l'interface utilisateur en mode Création, InfoPath génère du code dans la méthode InternalStartup du fichier de code de votre formulaire à l'aide de la classe EventManager et du membre de la classe FormEvents pour lier l'événement à son gestionnaire d'événements. Pour plus d'informations sur l'ajout de gestionnaires d'événements en mode Création dans InfoPath, consultez Procédure d'ajout d'un gestionnaire d'événements.

L'événement Sign est lié à l'aide du délégué SignEventHandler.

Pour s'exécuter, un gestionnaire d'événements de cet événement doit disposer du niveau de sécurité Autorisation totale. Pour définir ce niveau de sécurité, cliquez sur Options de formulaire dans le menu Outils de la fenêtre de création InfoPath, sélectionnez Sécurité et approbation, désactivez la case à cocher Déterminer automatiquement le niveau de sécurité puis sélectionnez Autorisation totale. Un formulaire affecté du niveau de sécurité Autorisation totale doit être installé ou signé numériquement.

Vous pouvez utiliser le gestionnaire d'événements de l'événement Sign pour ajouter des données supplémentaires à la signature numérique. Par exemple, vous pouvez ajouter les données d'un serveur d'horodatage fiable ou une contresignature côté serveur de la transaction. Vous pouvez également utiliser le gestionnaire d'événements pour bloquer la signature si l'utilisateur actuel n'est pas membre d'un groupe spécifique.

Ce membre est accessible uniquement par les formulaires ouverts à partir d'un modèle de formulaire configuré pour être exécuté avec des autorisations totales à l'aide de la catégorie Sécurité et approbation de la boîte de dialogue Options de formulaire. Ce membre nécessite une autorisation totale pour l'appelant immédiat et ne peut pas être utilisé par un code partiellement fiable. Pour plus d'informations, voir « Using Libraries from Partially Trusted Code » (en anglais) sur MSDN.

Ce type ou ce membre est uniquement accessible à partir du code exécuté dans les formulaires ouverts dans Microsoft Office InfoPath 2007.

Exemple

Dans l'exemple suivant, créé par l'ajout d'un gestionnaire pour l'événement Sign au formulaire en sélectionnant Programmation dans le menu Outils de l'interface utilisateur d'InfoPath en mode Création, une signature numérique est ajoutée au formulaire à l'aide de la méthode Sign de la classe Signature :

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
}

Voir aussi

Référence

FormEvents, classe
Membres FormEvents
Microsoft.Office.InfoPath, espace de noms