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

'Déclaration
Public MustOverride Event Sign As SignEventHandler
'Utilisation
Dim instance As FormEvents
Dim handler As SignEventHandler

AddHandler instance.Sign, handler
public abstract event SignEventHandler Sign

Exceptions

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 InfoPath 2010 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 » (« Utilisation de bibliothèques à partir de code partiellement fiable ») (éventuellement en anglais) sur MSDN.

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

Exemples

Dans l'exemple suivant, créé par l'ajout d'un gestionnaire d'événements Sign au formulaire en sélectionnant Événement Signature sous l'onglet Développeur 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 class.

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

FormEvents, membres

Microsoft.Office.InfoPath, espace de noms