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:
GetContextNodes(XPathNavigator)
Вызовы членов AdoSubmitConnectionклассов , EmailSubmitConnectionили FileSubmitConnection не могут выполняться в обработчике событий Loading .
Доступ к этому типу или элементу предоставляется только из кода, выполняющегося в формах, открытых в Microsoft InfoPath Filler или браузере.