Evento FormEvents.Sign
Viene generato dopo che un blocco di dati firmato è stato selezionato per la firma tramite la finestra di dialogo Firme digitali.
Spazio dei nomi: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in microsoft.office.infopath.dll)
Sintassi
Public Event Sign As SignEventHandler
Dim instance As FormEvents
Dim handler As SignEventHandler
AddHandler instance.Sign, handler
public abstract event SignEventHandler Sign
Eccezioni
Tipo eccezione | Condizione |
---|---|
Lo sviluppatore ha cercato di associare l'evento in una posizione diversa dal metodo InternalStartup. |
|
Il modello di modulo non è stato configurato con il livello di protezione Attendibilità completa utilizzando la categoria Protezione e attendibilità della finestra di dialogo Opzioni modulo. |
Osservazioni
![]() |
---|
Gli sviluppatori non devono creare un'istanza dell'evento Sign nel codice del modulo. È consigliabile aggiungere gestori eventi per eventi a livello di modulo solo dall'interfaccia utente in modalità progettazione di Microsoft Office InfoPath 2007. Quando si aggiunge un gestore eventi al modello di modulo dall'interfaccia utente in modalità progettazione, tramite InfoPath viene generato codice nel metodo InternalStartup del file di codice del modulo utilizzando la classe EventManager e il membro della classe FormEvents per associare l'evento al relativo gestore eventi. Per informazioni su come aggiungere gestori eventi in modalità progettazione di InfoPath, vedere Procedura: Aggiungere un gestore eventi. |
L'evento Sign viene associato utilizzando il delegato SignEventHandler.
Per essere eseguito, un gestore eventi per questo evento deve essere impostato con il livello di protezione Attendibilità completa. Per impostare questo livello di protezione, scegliere Opzioni modulo dal menu Strumenti nella finestra di progettazione di InfoPath, selezionare Protezione e attendibilità, deselezionare Determina automaticamente il livello di protezione e quindi selezionare Attendibilità completa. Un modulo per il quale è impostato il livello di protezione Attendibilità completa deve essere installato o firmato digitalmente.
È possibile utilizzare il gestore eventi per l'evento Sign per aggiungere ulteriori dati alla firma digitale. È ad esempio possibile aggiungere dati da un server timestamp attendibile oppure aggiungere una controfirma della transazione sul lato server. È inoltre possibile utilizzare il gestore eventi per una firma di blocco se l'utente corrente non è membro di un gruppo particolare.
Possono accedere a questo membro solo moduli aperti da un modello di modulo configurato per l'esecuzione con attendibilità completa tramite la categoria Protezione e attendibilità della finestra di dialogo Opzioni modulo. Questo membro richiede l'attendibilità completa per il chiamante immediato e non può essere utilizzato da codice con attendibilità parziale. Per ulteriori informazioni, vedere "Utilizzo di librerie da codice con attendibilità parziale" (in lingua inglese) su MSDN.
A questo tipo o membro può accedere solo il codice in esecuzione in moduli aperti in Microsoft Office InfoPath 2007.
Esempio
Nell'esempio seguente, creato aggiungendo al modulo un gestore eventi per l'evento Sign scegliendo Programmazione dal menu Strumenti dell'interfaccia utente in modalità progettazione di InfoPath, viene aggiunta una firma digitale al modulo utilizzando il metodo Sign della classe 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
}
Vedere anche
Riferimenti
Classe FormEvents
Membri FormEvents
Spazio dei nomi Microsoft.Office.InfoPath