FormEvents.Save Evento
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.