Condividi tramite


Evento FormEvents.Loading

Si verifica quando il modello di modulo è stato caricato, ma prima che venga inizializzata una visualizzazione.

Spazio dei nomi: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in microsoft.office.infopath.dll)

Sintassi

Public Event Loading As LoadingEventHandler

Dim instance As FormEvents
Dim handler As LoadingEventHandler

AddHandler instance.Loading, handler
public abstract event LoadingEventHandler Loading

Eccezioni

Tipo eccezione Condizione

InvalidOperationException

Lo sviluppatore ha cercato di associare l'evento in una posizione diversa dal metodo InternalStartup.

Osservazioni

Importante:

Gli sviluppatori non devono creare un'istanza dell'evento Loading nel codice del modulo. È consigliabile aggiungere gestori eventi per eventi a livello di modulo solo dall'interfaccia utente in modalità progettazione di Microsoft Office InfoPath 2007. Quando si aggiunge un gestore eventi al modello di modulo dall'interfaccia utente in modalità progettazione, tramite InfoPath viene generato codice nel metodo InternalStartup del file di codice del modulo utilizzando la classe EventManager e il membro della classe FormEvents per associare l'evento al relativo gestore eventi. Per informazioni su come aggiungere gestori eventi in modalità progettazione di InfoPath, vedere Procedura: Aggiungere un gestore eventi.

L'evento Loading viene associato utilizzando il delegato LoadingEventHandler.

L'evento Loading si verifica prima che il modulo venga caricato e prima che venga eseguito il rendering della visualizzazione.

Se un modello di modulo viene sviluppato e aperto da Microsoft Office Forms Server 2007 o da una raccolta documenti correttamente configurata in un sistema Office SharePoint Server 2007 in cui è in esecuzione InfoPath Forms Services, l'evento Loading si verifica una sola volta per sessione.

L'evento Loading può essere annullato utilizzando la proprietà CancelableArgs della classe SaveEventArgs per impostare la proprietà Cancel su true.

Nota:

Quando si verifica l'evento Loading, la visualizzazione non è stata inizializzata e la trasformazione XSL (XSLT) utilizzata per la visualizzazione non è ancora stata caricata. L'oggetto XmlForm non viene aggiunto all'insieme XmlFormCollection fino a quando non si verifica l'evento Loading. L'oggetto XmlForm è tuttavia disponibile durante l'evento Loading.

Nel gestore eventi Loading non è possibile eseguire chiamate ai metodi e alle proprietà seguenti:

Quit

DisableAutoUpdate

EnableAutoUpdate

ExecuteAction

Export

ForceUpdate

GetContextNodes

GetSelectedNodes

SelectNodes

SelectText

SwitchView

Close

MergeForm

New

Save

SaveAs

Submit

Print

NewFromFormTemplate

Close

TaskPanes

Nel gestore eventi Loading non è possibile eseguire chiamate ai membri delle classi AdoSubmitConnection, EmailSubmitConnection e FileSubmitConnection.

A questo tipo o membro può accedere solo il codice in esecuzione in moduli aperti in Microsoft Office InfoPath 2007 o in un browser.

Esempio

Nell'esempio seguente viene utilizzato il gestore eventi per l'evento Loading per determinare se il modulo è stato firmato digitalmente e, in caso contrario, il campo Date1 viene impostato sulla data corrente.

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

Vedere anche

Riferimenti

Classe FormEvents
Membri FormEvents
Spazio dei nomi Microsoft.Office.InfoPath