FormEvents.Loading 事件

定义

在加载了表单模板之后、初始化任何视图之前发生。

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 事件处理程序中调用以下方法和属性:

Quit()

DisableAutoUpdate()

EnableAutoUpdate()

ExecuteAction(ActionType)

Export(String, ExportFormat)

ForceUpdate()

GetContextNodes(XPathNavigator)

GetSelectedNodes()

SelectNodes(XPathNavigator)

SelectText(XPathNavigator)

SwitchView(String)

Close()

MergeForm(String)

New

Save()

SaveAs(String)

Submit()

Print()

NewFromFormTemplate(String)

Close()

TaskPanes

无法在加载事件处理程序中调用 、 EmailSubmitConnectionFileSubmitConnection 类的成员AdoSubmitConnection

可以通过 Microsoft InfoPath Filler 或 Web 浏览器内打开的表单中运行的代码访问此类型或成员。

适用于