FormEvents.Sign 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í.
Ocurre después de que un conjunto de datos firmados se haya seleccionado por medio del cuadro de diálogo Firmas digitales.
public:
abstract event Microsoft::Office::InfoPath::SignEventHandler ^ Sign;
public abstract event Microsoft.Office.InfoPath.SignEventHandler Sign;
member this.Sign : Microsoft.Office.InfoPath.SignEventHandler
Public MustOverride Custom Event Sign As SignEventHandler
Tipo de evento
Excepciones
El programador intentó enlazar el evento en una ubicación que no es el método InternalStartup.
La plantilla del formulario no está configurada para Plena confianza con la categoría Seguridad y confianza del cuadro de diálogo Opciones de formulario.
Ejemplos
En el ejemplo siguiente, creado agregando un controlador de eventos para el Sign evento al formulario haciendo clic en Sign Event (Evento de inicio de sesión) en la pestaña Developer (Desarrollador) en la interfaz de usuario del modo de diseño de InfoPath, se agrega una firma digital al formulario mediante el Sign() método de la Signature clase .
public void FormEvents_Sign(object sender, SignEventArgs e)
{
// This event handler will run only in fully trusted form templates.
Signature thisSignature =
e.SignedDataBlock.Signatures.CreateSignature();
// To add other pieces of information to sign, modify the
// signature template returned by
// thisSignature.SignatureBlockXmlNode.
// Write your code here.
thisSignature.Sign();
e.SignatureWizard = false;
}
Public Sub FormEvents_Sign(ByVal sender As Object, _
ByVal e As SignEventArgs)
' This event handler will run only in fully trusted form templates.
Dim thisSignature As Signature = _
e.SignedDataBlock.Signatures.CreateSignature
' To add other pieces of information to sign, modify the
' signature template returned by
' thisSignature.SignatureBlockXmlNode.
' Write your code here.
thisSignature.Sign()
e.SignatureWizard = False
}
Comentarios
Importante: El Sign 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 Sign evento se enlaza mediante el SignEventHandler delegado.
Un controlador de eventos para este evento requiere que se ejecute el nivel de seguridad de Plena confianza. Para establecer este nivel de confianza, en InfoPath Designer haga clic en la pestaña Archivo, haga clic en Opciones de formulario, seleccione Seguridad y confianza, desactive Determinar automáticamente el nivel de seguridad y luego seleccione Plena confianza. Un formulario con el nivel de seguridad de Plena confianza establecido se debe instalar o firmar digitalmente.
Puede usar el controlador de eventos para que el Sign evento agregue datos adicionales a la firma digital. Por ejemplo, se pueden agregar datos de un servidor de marca de tiempo de confianza o agregar una contrafirma del lado servidor de la transacción. Asimismo, se puede usar el controlador de eventos para bloquear la firma si el usuario actual no es integrante de un grupo determinado.
Solo se puede acceder a este miembro con formularios abiertos desde una plantilla de formulario que haya sido configurada para ejecutarse con confianza total usando la categoría Seguridad y confianza del cuadro de diálogo Opciones de formulario. Este miembro requiere confianza total para el autor de llamada inmediato y no se puede utilizar en un código de confianza parcial. Si desea más información, consulte "Utilizar bibliotecas de código que no es de plena confianza" en MSDN.
Únicamente se puede acceder a este tipo o miembro desde el código que se ejecuta en los formularios abiertos en Microsoft InfoPath Filler.