SignEvent.ReturnStatus 属性
获取或设置 OnSign 事件的返回状态。
命名空间: Microsoft.Office.Interop.InfoPath.SemiTrust
程序集: Microsoft.Office.Interop.InfoPath.SemiTrust(位于 Microsoft.Office.Interop.InfoPath.SemiTrust.dll 中)
语法
声明
Property ReturnStatus As Boolean
Get
Set
用法
Dim instance As SignEvent
Dim value As Boolean
value = instance.ReturnStatus
instance.ReturnStatus = value
bool ReturnStatus { get; set; }
属性值
实现
备注
如果 SignEventObject 对象的 ReturnStatus 属性设置为 false,"数字签名向导"对话框将一直显示,直到用户退出该对话框。
重要
此成员只能由与当前打开的表单在相同域中运行的表单访问,或者由已授予跨域权限的表单访问。
示例
在下例中,如果 OnSign 事件处理程序中的 ReturnStatus 属性设置为 false,那么"数字签名向导"会再次显示,以便向可以签名的数据集中添加另一个签名。对于可以签名的第一组数据,如果已经存在三个签名,OnSign 事件处理程序将退出,并将 ReturnStatus 属性设置为 true,这将关闭"数字签名向导"并显示警告:
[InfoPathEventHandler(EventType=InfoPathEventType.OnSign)]
public void OnSign(SignEvent e)
{
Signature thisSignature = e.SignedDataBlock.Signatures.Create();
// check if the current signed data block is the first signed data block in list
// if it is the first signed data block, then do special handling
// else use the default handler (triggered by e.ReturnStatus = false)
if ( e.SignedDataBlock.Name == thisXDocument.SignedDataBlocks[0].Name )
{
// check the number of signatures in the first signed data block
// if there are three signatures, don’t add another signature and set ReturnStatus to true)
// else add the signature (use the Sign() method to show the wizard) and don’t do anything else (ReturnStatus is true)
if ( thisXDocument.SignedDataBlocks[0].Signatures.Count > 3 )
{
thisXDocument.UI.Alert("Only 3 signatures are allowed on this set of data : " + e.SignedDataBlock.Name );
e.ReturnStatus = true;
}
else
{
thisSignature.Sign();
e.ReturnStatus = true;
}
}
else
{
e.ReturnStatus = false;
}
}