FormEvents.Submit (Evento)
Ocurre cuando se usa el comando Enviar de la interfaz de usuario o se usa el método Submit.
Espacio de nombres: Microsoft.Office.InfoPath
Ensamblado: Microsoft.Office.InfoPath (en microsoft.office.infopath.dll)
Sintaxis
Public Event Submit As SubmitEventHandler
Dim instance As FormEvents
Dim handler As SubmitEventHandler
AddHandler instance.Submit, handler
public abstract event SubmitEventHandler Submit
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 Submit en el código de formulario. Sólo se deben agregar controladores de eventos para eventos de nivel de formulario 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 Submit sólo se desencadena si la plantilla de formulario tiene establecida la opción Realizar acción personalizada utilizando código en el cuadro de diálogo Opciones de envío.
El evento Submit se enlaza utilizando el delegado SubmitEventHandler.
El evento Submit se puede cancelar utilizando la propiedad CancelableArgs de la clase MergeEventArgs para establecer la propiedad Cancel en true.
Si el código del controlador de eventos usa la propiedad CancelableArgs para establecer las cadenas de las propiedades Message o MessageDetails, pero la propiedad CancelableArgs.Cancel se deja con su valor predeterminado de false, se mostrará un mensaje de operación correcta 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 la misma forma, 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 y anulará los valores introducidos en el cuadro de diálogo Opciones de envío de formularios.
Si el código del controlador de eventos deja las propiedades Message y MessageDetails con el valor predeterminado de null, pero establece CancelableArgs.Cancel en true, se considera que se ha producido 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.
No se pueden hacer llamadas al método Quit de la clase Application en el controlador de eventos Submit.
Se puede tener acceso a este tipo o miembro desde un código ejecutado en formularios abiertos en Microsoft Office InfoPath 2007 o en un explorador Web.
Ejemplo
En el siguiente ejemplo, el controlador de eventos del evento Submit se usa para impedir el envío del formulario si éste 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
Vea también
Referencia
FormEvents (Clase)
FormEvents (Miembros)
Microsoft.Office.InfoPath (Espacio de nombres)