_XDocumentEventSink2_Event.OnVersionUpgrade 事件
在当前打开的 Microsoft InfoPath 表单的版本号小于该表单所基于的表单模板的版本号时发生。
命名空间: Microsoft.Office.Interop.InfoPath.SemiTrust
程序集: Microsoft.Office.Interop.InfoPath.SemiTrust(位于 Microsoft.Office.Interop.InfoPath.SemiTrust.dll 中)
语法
声明
Event OnVersionUpgrade As _XDocumentEventSink2_OnVersionUpgradeEventHandler
用法
Dim instance As _XDocumentEventSink2_Event
Dim handler As _XDocumentEventSink2_OnVersionUpgradeEventHandler
AddHandler instance.OnVersionUpgrade, handler
event _XDocumentEventSink2_OnVersionUpgradeEventHandler OnVersionUpgrade
备注
此事件处理程序允许用户取消操作。
在 OnVersionUpgrade 事件期间,表单的基础 XML 文档设置为只读模式,且不会根据表单的相关联 XML 架构对其进行验证。如果将 VersionUpgradeEventObject 对象的 ReturnStatus 属性设置为 false,InfoPath 将取消打开表单的操作。如果错误发生在 OnVersionUpgrade 事件的脚本代码中,InfoPath 将忽略该错误并依赖于 VersionUpgradeEventObject 对象的 ReturnStatus 属性。如果没有显式设置 ReturnStatus 属性,则使用默认值 true。
备注
如果为表单模板的 OnVersionUpgrade 事件创建了事件处理程序,则在运行该程序之前必须对表单定义文件 (.xsf) 进行编辑,以包括 documentVersionUpgrade 元素的可选 useScriptHandler 元素。
示例
在下面的示例中,VersionUpgradeEventObject 对象的 DocumentVersion 和 SolutionVersion 属性用于显示表单和表单模板的版本号:
[InfoPathEventHandler(EventType=InfoPathEventType.OnVersionUpgrade)]
public void OnVersionUpgrade(VersionUpgradeEvent e)
{
thisXDocument.UI.Alert("The form version: " + e.DocumentVersion +
"\nThe form template version: " + e.SolutionVersion);
e.ReturnStatus = true;
}