Compartir a través de


FormEvents.Loading Evento

Definición

Ocurre después de haber cargado una plantilla de formulario, pero antes de inicializar alguna vista.

public:
 abstract event Microsoft::Office::InfoPath::LoadingEventHandler ^ Loading;
public abstract event Microsoft.Office.InfoPath.LoadingEventHandler Loading;
member this.Loading : Microsoft.Office.InfoPath.LoadingEventHandler 
Public MustOverride Custom Event Loading As LoadingEventHandler 

Tipo de evento

Excepciones

El programador intentó enlazar el evento en una ubicación que no es el método InternalStartup.

Ejemplos

En el siguiente ejemplo, el controlador de eventos del evento Loading se usa para determinar si el formulario tiene firma digital y, si no es así, se establece el campo Date1 en la fecha actual.

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

Comentarios

Importante: El evento Loading no está pensado para que el desarrollador cree una instancia en el código de formulario. Solo debe agregar controladores de eventos para eventos de nivel de formulario desde la interfaz de usuario del modo de diseño de Microsoft InfoPath. Al agregar un controlador de eventos a la plantilla de formulario desde la interfaz de usuario del modo de diseño, InfoPath genera código en el método InternalStartup del archivo de código de formulario mediante la EventManager clase y el miembro de la FormEvents clase para enlazar el evento a su controlador de eventos. Para obtener información sobre cómo agregar controladores de eventos en el modo de diseño de InfoPath, vea Cómo agregar un controlador de eventos.

El evento Loading se enlaza mediante el LoadingEventHandler delegado.

El evento Loading se produce antes de que se cargue el formulario y se presente la vista.

Si una plantilla de formulario se implementa y se abre desde una biblioteca de documentos configurada correctamente en SharePoint Server 2010 que ejecuta InfoPath Forms Services, el evento Loading solo se produce una vez por sesión.

El evento Loading se puede cancelar mediante la CancelableArgs propiedad de la SaveEventArgs clase para establecer la propiedad Cancel en true.

Nota: Cuando se produce el evento Loading , la vista no se inicializa y la transformación XSL (XSLT) usada para la vista aún no se ha cargado. El XmlForm objeto no se agrega a la XmlFormCollection colección hasta que se ha producido el evento Loading . Sin embargo, el objeto XmlForm estará disponible durante el evento Loading.

En el controlador de eventos Loading no se pueden hacer llamadas a los siguientes métodos y propiedades:

Quit()

DisableAutoUpdate()

EnableAutoUpdate()

ExecuteAction(ActionType)

Export(String, ExportFormat)

ForceUpdate()

GetContextNodes(XPathNavigator)

GetSelectedNodes()

SelectNodes(XPathNavigator)

SelectText(XPathNavigator)

SwitchView(String)

Close()

MergeForm(String)

New

Save()

SaveAs(String)

Submit()

Print()

NewFromFormTemplate(String)

Close()

TaskPanes

Las llamadas a los miembros de las AdoSubmitConnectionclases , EmailSubmitConnectiono FileSubmitConnection no se pueden realizar en el controlador de eventos Loading .

Se puede acceder a este tipo o miembro desde el código que se ejecuta en los formularios abiertos en Microsoft InfoPath Filler o en un explorador web.

Se aplica a