FormEvents.Save (Evento)
Se produce cuando se usan los comandos Guardar o Guardar como desde la interfaz de usuario, o cuando se usan los métodos Save y SaveAs.
Espacio de nombres: Microsoft.Office.InfoPath
Ensamblado: Microsoft.Office.InfoPath (en microsoft.office.infopath.dll)
Sintaxis
'Declaración
Public Event Save As SaveEventHandler
'Uso
Dim instance As FormEvents
Dim handler As SaveEventHandler
AddHandler instance.Save, handler
public abstract event SaveEventHandler Save
Excepciones
Tipo de excepción | Condición |
---|---|
El programador intentó enlazar el evento en una ubicación que no es el método InternalStartup. |
Comentarios
Importante
El programador no debe crear instancias del evento Save en el código de formulario. Sólo debe agregar controladores de eventos para eventos del documento desde la interfaz de usuario del modo de diseño de Microsoft Office InfoPath 2007. Al agregar un controlador de eventos a la plantilla de formulario desde la interfaz de usuario de modo de diseño, InfoPath genera código en el método InternalStartup del archivo de código de formulario mediante la clase EventManager y el miembro de la clase FormEvents 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 se desencadena sólo si la plantilla de formulario tiene establecida la opción Guardar usando código personalizado del cuadro de diálogo Opciones de formulario.
El evento Save se enlaza utilizando el delegado SaveEventHandler.
El evento Save se puede cancelar utilizando la propiedad CancelableArgs de la clase SaveEventArgs para establecer la propiedad Cancel en true.
El objeto SaveEventArgs, que se pasa como parámetro a un controlador de eventos del evento Save, proporciona propiedades y métodos que se pueden usar para obtener el nombre de archivo del formulario, determinar si está guardado o no, y realizar la operación de guardado.
Se puede tener acceso a este tipo o miembro solamente desde un código ejecutado en formularios abiertos en Microsoft Office InfoPath 2007.
Ejemplo
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
Vea también
Referencia
FormEvents (Clase)
FormEvents (Miembros)
Microsoft.Office.InfoPath (Espacio de nombres)