FormEvents.Submit 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 usa el comando Submit desde la interfaz de usuario o se usa el Submit() método .
public:
abstract event Microsoft::Office::InfoPath::SubmitEventHandler ^ Submit;
public abstract event Microsoft.Office.InfoPath.SubmitEventHandler Submit;
member this.Submit : Microsoft.Office.InfoPath.SubmitEventHandler
Public MustOverride Custom Event Submit As SubmitEventHandler
Tipo de evento
Excepciones
El programador intentó enlazar el evento en una ubicación que no es el método InternalStartup.
Ejemplos
En el ejemplo siguiente, se usa el controlador de eventos para el Submit evento para evitar que se envíe el formulario si el formulario no se ha guardado.
public void FormEvents_Submit(object sender, SubmitEventArgs e)
{
if(this.Dirty || this.New)
MessageBox.Show("Please save this form before submitting it.");
e.CancelableArgs.Cancel = true;
else
e.CancelableArgs.Message = "Submit succeeded.";
}
Public Sub FormEvents_Submit(ByVal sender As Object, _
ByVal e As SubmitEventArgs)
If(Me.Dirty Or Me.New) Then
MessageBox.Show("Please save this form before submitting it.")
e.CancelableArgs.Cancel = True
Else
e.CancelableArgs.Message = "Submit succeeded."
End If
End Sub
Comentarios
Importante: El Submit desarrollador no debe crear instancias del evento 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 Submit evento solo se genera si la plantilla de formulario tiene la opción Realizar acción personalizada mediante código establecida en el cuadro de diálogo Opciones de envío.
El Submit evento se enlaza mediante el SubmitEventHandler delegado.
El Submit evento se puede cancelar mediante la CancelableArgs propiedad de la MergeEventArgs clase para establecer la propiedad Cancel en true.
Si el código del controlador de eventos usa la CancelableArgs propiedad para establecer las cadenas de las Message propiedades o MessageDetails , pero la propiedad CancelableArgs.Cancel se deja en la configuración predeterminada de false, se mostrará un mensaje correcto con el texto de las propiedades Message y MessageDetails . Este mensaje anulará los valores de los mensajes personalizados de Mostrar un mensaje de confirmación o de error y En caso de éxito en el cuadro de diálogo Opciones de envío de formularios.
De forma similar, si el código del controlador de eventos establece las cadenas Message o MessageDetails y establece CancelableArgs.Cancel en true, se mostrará un mensaje de error, el mensaje se mostrará con el texto de las propiedades Message y MessageDetails , reemplazando la configuración del cuadro de diálogo Opciones de envío de formulario.
Si el código del controlador de eventos deja las propiedades Message y MessageDetails en el valor predeterminado de una referencia nula (Nothing en Visual Basic), pero establece CancelableArgs.Cancel en true, se considera que se produjo un error en la operación de envío. Los valores introducidos en el cuadro de diálogo Opciones de envío determinarán si se muestra un mensaje de error y cuál será dicho mensaje.
Las llamadas al Quit() método de la Application clase no se pueden realizar en el controlador de Submit eventos.
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.