Evento FormEvents.Sign

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 MustOverride Event Sign As SignEventHandler
'Uso
Dim instance As FormEvents
Dim handler As SignEventHandler

AddHandler instance.Sign, handler
public abstract event SignEventHandler Sign

Excepciones

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 utilizando la categoría Seguridad y confianza del cuadro de diálogo Opciones de formulario.

Comentarios

Importante

El evento Sign no está pensado para ser iniciado por el programador en código de formulario. Solo se deben agregar controladores de eventos para eventos de nivel de formulario desde la interfaz de usuario del modo 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ódigos en el método InternalStartup 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 usando 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, 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.

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 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.

Ejemplos

En el siguiente ejemplo, creado mediante la adición de un controlador de eventos para el evento Sign para el formulario al hacer clic en Firmar Evento de la pestaña Programador en la interfaz del usuario del modo de diseño de InfoPath, se añade una firma digital al formulario mediante 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

clase FormEvents

Miembros FormEvents

Espacio de nombres Microsoft.Office.InfoPath