Событие FormEvents.Loading
Создается после загрузки шаблона формы, но до инициализации какого-либо представления.
Пространство имен: Microsoft.Office.InfoPath
Сборка: Microsoft.Office.InfoPath (в microsoft.office.infopath.dll)
Синтаксис
'Декларация
Public Event Loading As LoadingEventHandler
'Применение
Dim instance As FormEvents
Dim handler As LoadingEventHandler
AddHandler instance.Loading, handler
public abstract event LoadingEventHandler Loading
Исключения
Тип исключения | Условие |
---|---|
Попытка разработчика привязать событие в другом местоположении, чем метод InternalStartup. |
Заметки
Внимание! |
---|
Создание разработчиком экземпляра события Loading в коде формы не предполагается. Пользователь должен только добавить обработчики событий для событий уровня формы из пользовательского интерфейса в режиме конструктора Microsoft Office InfoPath 2007. При добавлении обработчика события к шаблону формы из пользовательского интерфейса в режиме конструктора InfoPath генерирует код в методе InternalStartup файла кода формы с помощью класса EventManager и члена класса FormEvents для привязки события к его обработчику. Сведения о порядке добавления обработчиков событий в режиме конструктора InfoPath см. в разделе Практическое руководство. Добавление обработчика событий. |
Событие Loading привязано с помощью делегата LoadingEventHandler.
Событие Loading создается до загрузки формы и отображения представления.
Если шаблон формы развернут и открыт из приложения Microsoft Office Forms Server 2007 или из соответственно сконфигурированной библиотеки документов в приложении Office SharePoint Server 2007, работающем под управлением Служба InfoPath Forms Services, событие Loading создается только одно на сеанс.
Событие Loading можно отменить с помощью свойства CancelableArgs класса SaveEventArgs, установив для свойства Cancel значение true.
Заметка |
---|
При создании события Loading представление не инициализировано, и вместо незагруженного представления используется преобразование XSL (XSLT). Объект XmlForm не добавляется к коллекции XmlFormCollection до завершения события Loading. Однако объект XmlForm доступен во время события Loading. |
Вызовы следующих методов и свойств невозможно выполнить в обработчике события Loading:
Вызовы членов классов AdoSubmitConnection, EmailSubmitConnection или FileSubmitConnection невозможно выполнить в обработчике события Loading.
Доступ к этому типу или члену имеется из программы, работающей в формах, открытых в Microsoft Office InfoPath 2007 или в веб-обозревателе.
Пример
В следующем примере обработчик события для события 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
См. также
Ссылка
Класс FormEvents
Члены FormEvents
Пространство имен Microsoft.Office.InfoPath