FormEvents.Sign 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在选定一组要通过“数字签名”对话框进行签名的签名数据后发生。
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
事件类型
例外
开发人员尝试绑定 InternalStartup 方法以外的某个位置的事件。
没有使用“表单选项”对话框的“安全和信任”类别将表单模板配置为“完全信任”。
示例
在以下示例中,通过使用 在 InfoPath 设计模式用户界面的“开发工具”选项卡上单击“签名事件”,将事件事件处理程序添加到Sign表单中,使用 类的 Signature 方法将数字签名添加到表单Sign()中。
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
}
注解
重要提示:开发人员 Sign 不应在表单代码中实例化该事件。 应仅从 Microsoft InfoPath 设计模式用户界面为表单级事件添加事件处理程序。 从设计模式用户界面向表单模板添加事件处理程序时,InfoPath 使用 EventManager 类和 类的成员FormEvents在表单代码文件的 InternalStartup 方法中生成代码,以将事件绑定到其事件处理程序。 有关如何在 InfoPath 设计模式下添加事件处理程序的信息,请参阅如何:添加事件处理程序。
使用 Sign 委托绑定 SignEventHandler 事件。
需要具有“完全信任”安全级别才能运行此事件的事件处理程序。 若要设置此安全级别,请在 InfoPath 设计器中单击“文件”选项卡,单击“表单选项”,选择“安全和信任”,取消选中“自动确定安全级别”,然后选择“完全信任”。 必须安装设置为“完全信任”安全级别的表单,或者对其进行数字签名。
可以使用 事件的事件处理程序 Sign 向数字签名添加其他数据。 例如,可以添加受信任时间戳服务器中的数据,也可以添加事务的服务器端副署。 如果当前用户不是特定组的成员,还可以使用事件处理程序阻止签名。
只能由从表单模板打开的表单访问此成员,已使用“表单选项”对话框“安全和信任”类别将该模板配置为以完全信任状态运行。 此成员要求直接调用方的完全信任并且不能由部分信任的代码使用。 有关更多信息,请参阅 MSDN 上的“使用部分信任的代码中的库”。
可以通过 Microsoft InfoPath Filler 中打开的表单中运行的代码访问此类型或成员。