Поделиться через


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 создает код в методе InternalStartup файла кода формы с помощью EventManager класса и члена класса для привязки FormEvents события к его обработчику событий. Сведения о порядке добавления обработчиков событий в режиме конструктора InfoPath см. в разделе How to: Add an Event Handler.

Событие Loading привязано с помощью делегата LoadingEventHandler .

Событие Loading создается до загрузки формы и отображения представления.

Если шаблон формы развертывается в и открывается из соответствующей библиотеки документов в SharePoint Server 2010 под управлением InfoPath Forms Services, событие Loading происходит только один раз в сеансе.

Событие Loading можно отменить с помощью CancelableArgs свойства SaveEventArgs класса , чтобы присвоить свойству Cancelзначение true.

Примечание. При возникновении события Загрузки представление не инициализируется, а преобразование XSL (XSLT), используемое для представления, еще не загружено. Объект XmlForm не добавляется в коллекцию XmlFormCollection до тех пор, пока не произошло событие Loading . Однако объект XmlForm доступен во время события Loading.

Вызовы следующих методов и свойств невозможно выполнить в обработчике события 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

Вызовы членов AdoSubmitConnectionклассов , EmailSubmitConnectionили FileSubmitConnection не могут выполняться в обработчике событий Loading .

Доступ к этому типу или элементу предоставляется только из кода, выполняющегося в формах, открытых в Microsoft InfoPath Filler или браузере.

Применяется к