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 MustOverride Event Loading As LoadingEventHandler
'Usage
Dim instance As FormEvents
Dim handler As LoadingEventHandler

AddHandler instance.Loading, handler
public abstract event LoadingEventHandler Loading

Ausnahmen

Ausnahme Bedingung
InvalidOperationException

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

Hinweise

Wichtig

Das Loading-Ereignis sollte nicht vom Entwickler im Formularcode instanziiert werden. Ereignishandler für Ereignisse auf Formularebene sollten nur über die Microsoft InfoPath-Entwurfsmodus-Benutzeroberfläche hinzugefügt werden. Wenn Sie der Formularvorlage über die Entwurfsmodus-Benutzeroberfläche einen Ereignishandler hinzufügen, wird in InfoPath mithilfe der EventManager-Klasse und 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 SharePoint Server 2010 mit InfoPath Forms Services bereitgestellt und von dort aus oder von einer entsprechend konfigurierten Dokumentenbibliothek geöffnet wird, tritt das Loading-Ereignis nur einmal pro Sitzung auf.

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 dieses Mitglied kann über Code zugegriffen werden, der in Formularen ausgeführt wird, die in Microsoft InfoPath Filler oder in einem Webbrowser geöffnet wurden.

Beispiele

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