Freigeben über


FormEvents.Loading-Ereignis

Tritt ein, nachdem die Formularvorlage geladen, jedoch bevor eine Ansicht initialisiert wurde.

Namespace: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in microsoft.office.infopath.dll)

Syntax

'Declaration
Public Event Loading As LoadingEventHandler
'Usage
Dim instance As FormEvents
Dim handler As LoadingEventHandler

AddHandler instance.Loading, handler
public abstract event LoadingEventHandler Loading

Ausnahmen

Ausnahmetyp Bedingung

InvalidOperationException

Es wurde versucht, das Ereignis an einen anderen Speicherort als die InternalStartup-Methode zu binden.

Hinweise

Wichtig

Das Loading-Ereignis sollte nicht im Formularcode instanziiert werden. Ereignishandler sollten Ereignissen auf Formularebene nur von der Entwurfsmodus-Benutzeroberfläche von Microsoft Office InfoPath 2007 aus hinzugefügt werden. Wenn Sie der Formularvorlage von der Entwurfsmodus-Benutzeroberfläche aus einen Ereignishandler hinzufügen, wird in InfoPath mithilfe der EventManager-Klasse und mithilfe des Members der FormEvents-Klasse in der InternalStartup-Methode der Formularcodedatei Code generiert, um das Ereignis an den zugehörigen Ereignishandler zu binden. Weitere Informationen zum Hinzufügen von Ereignishandlern im InfoPath-Entwurfsmodus finden Sie unter Vorgehensweise: Hinzufügen eines Ereignishandlers.

Die Bindung des Loading-Ereignisses erfolgt mithilfe des LoadingEventHandler-Delegaten.

Das Loading-Ereignis tritt ein, bevor das Formular geladen und die Ansicht gerendert wird.

Wenn eine Formularvorlage in Microsoft Office Forms Server 2007 bereitgestellt und von hier aus oder von einer entsprechend konfigurierten Dokumentenbibliothek in Office SharePoint Server 2007 geöffnet wird, die InfoPath Forms Services ausführt, tritt die Loading-Eigenschaft nur einmal pro Sitzung ein.

Das Loading-Ereignis kann mithilfe der CancelableArgs-Eigenschaft der SaveEventArgs-Klasse abgebrochen werden, um die Cancel-Eigenschaft auf true festzulegen.

Hinweis

Wenn das Loading-Ereignis eintritt, wird die Ansicht nicht initialisiert, und die für die Ansicht verwendete XSL-Transformation (XSLT) wird noch nicht geladen. Das XmlForm-Objekt wird erst zur XmlFormCollection-Auflistung hinzugefügt, nachdem das Loading-Ereignis eingetreten ist. Das XmlForm-Objekt ist jedoch während des Loading-Ereignisses verfügbar.

Aufrufe der folgenden Methoden und Eigenschaften sind im Loading-Ereignishandler nicht möglich:

Quit

DisableAutoUpdate

EnableAutoUpdate

ExecuteAction

Export

ForceUpdate

GetContextNodes

GetSelectedNodes

SelectNodes

SelectText

SwitchView

Close

MergeForm

New

Save

SaveAs

Submit

Print

NewFromFormTemplate

Close

TaskPanes

Aufrufe der Member der Klassen AdoSubmitConnection, EmailSubmitConnection oder FileSubmitConnection sind im Loading-Ereignishandler nicht möglich.

Auf diesen Typ oder diesen Member kann über Code zugegriffen werden, der in Formularen ausgeführt wird, die mit Microsoft Office InfoPath 2007 oder einem Webbrowser geöffnet wurden.

Beispiel

Im folgenden Beispiel wird mithilfe des Ereignishandlers für das Loading-Ereignis bestimmt, ob das Formular digital signiert und das Feld Date1 auf das aktuelle Datum festgelegt wurde.

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

Siehe auch

Referenz

FormEvents-Klasse
FormEvents-Member
Microsoft.Office.InfoPath-Namespace