Compartir a través de


FormEvents.Sign (Evento)

Ocurre después de que un conjunto de datos firmados se haya seleccionado por medio del cuadro de diálogo Firmas digitales.

Espacio de nombres: Microsoft.Office.InfoPath
Ensamblado: Microsoft.Office.InfoPath (en microsoft.office.infopath.dll)

Sintaxis

'Declaración
Public Event Sign As SignEventHandler
'Uso
Dim instance As FormEvents
Dim handler As SignEventHandler

AddHandler instance.Sign, handler
public abstract event SignEventHandler Sign

Excepciones

Tipo de excepción Condición

InvalidOperationException

El programador intentó enlazar el evento en una ubicación que no es el método InternalStartup.

SecurityException

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.

Comentarios

Importante

El programador no debe crear instancias del evento Sign 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 Sign se enlaza utilizando el delegado SignEventHandler.

Un controlador de eventos para este evento requiere que se ejecute el nivel de seguridad de Plena confianza. Para establecer este nivel de confianza, haga clic en Opciones de formulario en el menú Herramientas de la ventana de diseño de InfoPath, active Seguridad y confianza, desactive Determina automáticamente el nivel de seguridad y, a continuación, seleccione Plena confianza. Un formulario con nivel de Plena confianza establecido se debe instalar o tener una firma digital.

El controlador de eventos del evento Sign se puede utilizar para agregar datos adicionales a la firma digital. Por ejemplo, se pueden agregar datos de un servidor de marca de hora de confianza, o agregar una contrafirma del 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.

Sólo pueden tener acceso a este miembro los formularios abiertos desde una plantilla de formulario configurada para ejecutarse con plena confianza utilizando la categoría Seguridad y confianza del cuadro de diálogo Opciones de formulario. Este miembro requiere confianza plena en el llamador inmediato y no puede ser utilizado por un código con confianza parcial. Para obtener más información, vea "Using Libraries from Partially Trusted Code" en MSDN.

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, creado mediante la adición de un controlador de eventos para el evento Sign al formulario mediante la selección de Programación del menú Herramientas de la interfaz de usuario de diseñador de InfoPath, se agrega al formulario una firma digital utilizando el método Sign de la clase Signature.

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
}

Vea también

Referencia

FormEvents (Clase)
FormEvents (Miembros)
Microsoft.Office.InfoPath (Espacio de nombres)