Compartir a través de


FormEvents.Save Evento

Definición

Se produce cuando se usan los comandos Guardar o Guardar como desde la interfaz de usuario, o cuando se usan los Save() métodos y SaveAs(String) .

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

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 Save comprueba si Field2 está vacío y, si no lo está, realiza una operación de guardado. Si está vacío, muestra un mensaje y cancela la operación de guardado.

public void FormEvents_Save(object sender, SaveEventArgs e)
{
   // Check to see if Field2 is empty.
   XPathNavigator reqField = 
      CreateNavigator().SelectSingleNode("/my:myFields/my:field2", 
      NamespaceManager);
   if(reqField.ToString() == "")
   {
      MessageBox.Show("Field2 is empty.\nYou cannot save the form.");
      e.CancelableArg.Cancel = true;
   }
   else
   {
   // The Dirty property will be set to false if save is successful.
      e.PerformSaveOperation();
      e.CancelableArgs.Cancel = false;
   }
}
Public Sub FormEvents_Save(ByVal sender As Object, _
   ByVal e As SaveEventArgs)
   ' Check to see if Field2 is empty.
   Dim reqField as XPathNavigator = 
      CreateNavigator().SelectSingleNode("/my:myFields/my:field2", _
      NamespaceManager)
   If(reqField.ToString() = "") Then
      MessageBox.Show("Field2 is empty" & vbNewLine & _
         "You cannot save the form.")
      e.CancelableArgs.Cancel = True
   Else
   ' The Dirty property will be set to false if save is successful.
   e.PerformSaveOperation()
   e.CancelableArgs.Cancel = False
   End If
End Sub

Comentarios

Importante: El evento Save 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 Save solo se genera si la plantilla de formulario tiene la opción Guardar mediante código personalizado establecida en el cuadro de diálogo Opciones de formulario.

El evento Save se enlaza mediante el SaveEventHandler delegado.

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

El SaveEventArgs objeto, que se pasa como parámetro a un controlador de eventos para el evento Save , proporciona propiedades y métodos que se pueden usar para obtener el nombre de archivo del formulario, determinar el estado de guardado y realizar la operación de guardado.

Únicamente se puede acceder a este tipo o miembro desde el código que se ejecuta en los formularios abiertos en Microsoft InfoPath Filler.

Se aplica a