Partager via


FormEvents.Loading, événement

Se produit après le chargement du modèle de formulaire mais avant l'initialisation d'une vue quelconque.

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

Syntaxe

Public Event Loading As LoadingEventHandler

Dim instance As FormEvents
Dim handler As LoadingEventHandler

AddHandler instance.Loading, handler
public abstract event LoadingEventHandler Loading

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.

Remarques

Important :

L'événement Loading 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 Loading est lié à l'aide du délégué LoadingEventHandler.

L'événement Loading se produit avant le chargement du formulaire et avant le rendu d'une vue quelconque.

Si un modèle de formulaire est déployé sur Microsoft Office Forms Server 2007 et ouvert à partir de cette application ou d'une autre bibliothèque de documents correctement configurée dans Office SharePoint Server 2007, exécutant InfoPath Forms Services, l'événement Loading ne se produit qu'une seule fois par session.

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

Remarque

Lorsque l'événement Loading se produit, la vue n'est pas initialisée et la transformation XSL (XSLT) utilisée pour la vue n'est pas encore chargée. L'objet XmlForm n'est ajouté à la collection XmlFormCollection qu'une fois l'événement Loading déclenché. L'objet XmlForm est toutefois accessible pendant l'événement Loading.

Il est impossible d'appeler les propriétés et méthodes suivantes dans le gestionnaire d'événements Loading :

Quit

DisableAutoUpdate

EnableAutoUpdate

ExecuteAction

Export

ForceUpdate

GetContextNodes

GetSelectedNodes

SelectNodes

SelectText

SwitchView

Close

MergeForm

New

Save

SaveAs

Submit

Print

NewFromFormTemplate

Close

TaskPanes

Il n'est pas possible d'appeler les membres des classes AdoSubmitConnection, EmailSubmitConnection ou FileSubmitConnection dans le gestionnaire d'événements Loading.

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

Exemple

Dans l'exemple suivant, le gestionnaire de l'événement Loading permet de déterminer si le formulaire a été signé numériquement et, si ce n'est pas le cas, affecte la date du jour au champ Date1.

public void FormEvents_Loading(object sender, LoadingEventArgs e)
{
   if (this.Signed)
   {
         e.CancelableArgs.Message = 
            "This form is digitally signed. Loading is cancelled.";
         e.CancelableArgs.Cancel = true;
   }

   XPathNavigator myDate = 
      CreateNavigator().SelectSingleNode("/my:myFields/my:date1",
      NamespaceManager);

   // Check for and delete xsi:nil="true" attribute.
   if (myDate.MoveToAttribute("nil", 
      "http://www.w3.org/2001/XMLSchema-instance"))
   {
      myDate.DeleteSelf();
   }

   myDate.SetValue(System.DateTime.Now.ToString("yyyy-MM-dd"));
}
Public Sub FormEvents_Loading(ByVal sender As Object, _
   ByVal e As LoadingEventArgs)
   If (Me.Signed)Then
         e.CancelableArgs.Message = 
            "This form is digitally signed. Loading is cancelled."
         e.CancelableArgs.Cancel = True
   End If

   Dim myDate As XPathNavigator = 
      CreateNavigator().SelectSingleNode("/my:myFields/my:date1",
      NamespaceManager)

   ' Check for and delete xsi:nil="true" attribute.
   If (myDate.MoveToAttribute("nil", 
      "http://www.w3.org/2001/XMLSchema-instance"))
      myDate.DeleteSelf();
   End If

   myDate.SetValue(System.DateTime.Now.ToString("yyyy-MM-dd"));
End Sub

Voir aussi

Référence

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