FormEvents.Loading 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在加载了表单模板之后、初始化任何视图之前发生。
public:
abstract event Microsoft::Office::InfoPath::LoadingEventHandler ^ Loading;
public abstract event Microsoft.Office.InfoPath.LoadingEventHandler Loading;
member this.Loading : Microsoft.Office.InfoPath.LoadingEventHandler
Public MustOverride Custom Event Loading As LoadingEventHandler
事件类型
例外
开发人员尝试绑定 InternalStartup 方法以外的某个位置的事件。
示例
在以下示例中,Loading 事件的事件处理程序用于确定表单是否经过数字签名,以及表单是否未将 Date1 域设置为当前日期。
public void FormEvents_Loading(object sender, LoadingEventArgs e)
{
if (this.Signed)
{
e.CancelableArgs.Message =
"This form is digitally signed. Loading is cancelled.";
e.CancelableArgs.Cancel = true;
}
XPathNavigator myDate =
CreateNavigator().SelectSingleNode("/my:myFields/my:date1",
NamespaceManager);
// Check for and delete xsi:nil="true" attribute.
if (myDate.MoveToAttribute("nil",
"http://www.w3.org/2001/XMLSchema-instance"))
{
myDate.DeleteSelf();
}
myDate.SetValue(System.DateTime.Now.ToString("yyyy-MM-dd"));
}
Public Sub FormEvents_Loading(ByVal sender As Object, _
ByVal e As LoadingEventArgs)
If (Me.Signed)Then
e.CancelableArgs.Message =
"This form is digitally signed. Loading is cancelled."
e.CancelableArgs.Cancel = True
End If
Dim myDate As XPathNavigator =
CreateNavigator().SelectSingleNode("/my:myFields/my:date1",
NamespaceManager)
' Check for and delete xsi:nil="true" attribute.
If (myDate.MoveToAttribute("nil",
"http://www.w3.org/2001/XMLSchema-instance"))
myDate.DeleteSelf();
End If
myDate.SetValue(System.DateTime.Now.ToString("yyyy-MM-dd"));
End Sub
注解
重要提示: 加载 事件不应由开发人员在表单代码中实例化。 应仅从 Microsoft InfoPath 设计模式用户界面为表单级事件添加事件处理程序。 从设计模式用户界面向表单模板添加事件处理程序时,InfoPath 使用 EventManager 类和 类的成员FormEvents在表单代码文件的 InternalStartup 方法中生成代码,以将事件绑定到其事件处理程序。 有关如何在 InfoPath 设计模式下添加事件处理程序的信息,请参阅如何:添加事件处理程序。
使用委托绑定 LoadingEventHandler Loading 事件。
Loading 事件在加载表单之前以及显示视图之前发生。
如果在运行 InfoPath Forms Services 的 SharePoint Server 2010 上将表单模板部署到适当配置的文档库并从中打开,则每个会话仅发生一次加载事件。
通过使用 类的 SaveEventArgs 属性将 Cancel 属性设置为 true,可以取消 CancelableArgsLoading 事件。
注意:发生 Load 事件时,视图不会初始化,并且尚未加载用于视图的 XSL 转换 (XSLT) 。 直到XmlForm发生 Loading 事件后,才会将 对象添加到XmlFormCollection集合中。 但在 Loading 事件期间,XmlForm 对象是可用的。
无法在 Loading 事件处理程序中调用以下方法和属性:
GetContextNodes(XPathNavigator)
无法在加载事件处理程序中调用 、 EmailSubmitConnection或 FileSubmitConnection 类的成员AdoSubmitConnection。
可以通过 Microsoft InfoPath Filler 或 Web 浏览器内打开的表单中运行的代码访问此类型或成员。