Partager via


FormEvents.Save - Événement

Se produit lors de l'utilisation des commandes Enregistrer ou Enregistrer sous dans l'interface utilisateur ou lors d'un appel aux méthodes Save et SaveAs.

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

Syntaxe

'Déclaration
Public MustOverride Event Save As SaveEventHandler
'Utilisation
Dim instance As FormEvents
Dim handler As SaveEventHandler

AddHandler instance.Save, handler
public abstract event SaveEventHandler Save

Exceptions

Exception Condition
InvalidOperationException

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

Remarques

Important

L'événement Save 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 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 : Ajouter un gestionnaire d'événements.

L'événement Save est généré dans le seul cas où l'option Enregistrer au moyen d'un code personnalisé est activée dans la boîte de dialogue Options de formulaire pour le modèle de formulaire.

L'événement Save est lié à l'aide du délégué SaveEventHandler.

L'événement Save peut être annulé en utilisant la propriété CancelableArgs de la classe SaveEventArgs pour affecter à la propriété Cancel la valeur true.

L'objet SaveEventArgs, passé en tant que paramètre au gestionnaire d'événements de l'événement Save, fournit des propriétés et des méthodes qui permettent d'obtenir le nom de fichier du formulaire, de déterminer le statut d'enregistrement et d'effectuer l'opération d'enregistrement.

Vous pouvez uniquement accéder à ce type ou à ce membre à partir du code exécuté dans les formulaires ouverts dans Microsoft InfoPath Filler.

Exemples

Dans l'exemple suivant, le gestionnaire de l'événement Save vérifie si Field2 est vide, et si ce n'est pas le cas, exécute une opération d'enregistrement. S'il est vide, il affiche un message et annule l'opération d'enregistrement.

public void FormEvents_Save(object sender, SaveEventArgs e)
{
   // Check to see if Field2 is empty.
   XPathNavigator reqField = 
      CreateNavigator().SelectSingleNode("/my:myFields/my:field2", 
      NamespaceManager);
   if(reqField.ToString() == "")
   {
      MessageBox.Show("Field2 is empty.\nYou cannot save the form.");
      e.CancelableArg.Cancel = true;
   }
   else
   {
   // The Dirty property will be set to false if save is successful.
      e.PerformSaveOperation();
      e.CancelableArgs.Cancel = false;
   }
}
Public Sub FormEvents_Save(ByVal sender As Object, _
   ByVal e As SaveEventArgs)
   ' Check to see if Field2 is empty.
   Dim reqField as XPathNavigator = 
      CreateNavigator().SelectSingleNode("/my:myFields/my:field2", _
      NamespaceManager)
   If(reqField.ToString() = "") Then
      MessageBox.Show("Field2 is empty" & vbNewLine & _
         "You cannot save the form.")
      e.CancelableArgs.Cancel = True
   Else
   ' The Dirty property will be set to false if save is successful.
   e.PerformSaveOperation()
   e.CancelableArgs.Cancel = False
   End If
End Sub

Voir aussi

Référence

FormEvents classe

FormEvents - Membres

Microsoft.Office.InfoPath - Espace de noms