Событие XmlEvent.Changing
Создается после изменений в связанном XML-документе формы, но до принятия этих изменений.
Пространство имен: Microsoft.Office.InfoPath
Сборка: Microsoft.Office.InfoPath (в microsoft.office.infopath.dll)
Синтаксис
'Декларация
Public Event Changing As XmlChangingEventHandler
'Применение
Dim instance As XmlEvent
Dim handler As XmlChangingEventHandler
AddHandler instance.Changing, handler
public abstract event XmlChangingEventHandler Changing
Исключения
Тип исключения | Условие |
---|---|
Попытка разработчика привязать событие в другом местоположении, чем метод InternalStartup. |
|
InvalidOperationException |
Попытка разработчика привязать событие к узлу в дополнительном источнике данных. Это событие не поддерживается для дополнительного источника данных. |
Заметки
![]() |
---|
Создание разработчиком экземпляра события Changing в коде формы не предполагается. При добавлении обработчика события к шаблону формы из пользовательского интерфейса в режиме конструктора Microsoft Office InfoPath 2007 генерирует код в методе InternalStartup файла кода формы с помощью класса EventManager и члена класса XmlEvent для привязки событий уровня документа к их обработчикам. Сведения о порядке добавления обработчиков событий в режиме конструктора InfoPath см. в разделе Практическое руководство. Добавление обработчика событий. |
Событие Changing привязано с помощью делегата XmlChangingEventHandler.
Этот обработчик события позволяет пользователям отменить операцию.
Во время события Changing связанный XML-документ формы переводится в режим только для чтения. Если для свойства XmlChangingEventArgs.CancelableArgs.Cancel установлено значение true, InfoPath отклоняет внесенные изменения и для пользователя отображается окно сообщения. Если возникает ошибка в коде для события Changing, InfoPath отклоняет изменения и возвращает данные к предыдущему состоянию.
![]() |
---|
Во время события Changing рекомендуется избегать переключения представлений; изменения еще не были приняты, и переключение на другое представление может вызвать ошибку. |
Доступ к этому типу или члену имеется только из программы, работающей в формах, открытых в Microsoft Office InfoPath 2007.
Пример
В следующем примере при изменении значения field2 создается событие Changing и объект FormError для field1 добавляется к коллекции FormErrorCollection формы с помощью метода Add класса FormErrorCollection.
Это связывает сообщение об ошибке со значением field1. Строка, переданная как параметр message метода Add, отображается в окне подсказки, когда пользователь наводит указатель мыши на значение field1. Когда пользователь щелкает правой кнопкой значение field1 и затем выбирает , InfoPath отображает полное сообщение об ошибке, включая строку, переданную как параметр messageDetails метода Add.
public void field2_Changing(object sender, XmlChangingEventArgs e)
{
XPathNavigator errNode =
this.CreateNavigator().SelectSingleNode("/my:myFields/my:field1",
NamespaceManager);
this.Errors.Add(errNode, "Field2Changing",
"The Changing event occurred for Field2.",
"Changes were made to Field2, but have not yet been accepted.");
}
Public Sub field2_Changing(ByVal sender As Object, _
ByVal e As XmlChangingEventArgs)
Dim errNode As XPathNavigator = Me.CreateNavigator(). _
SelectSingleNode("/my:myFields/my:field1", NamespaceManager)
Me.Errors.Add(errNode, "Field2Changing", _
"The Changing event occurred for Field2.", _
"Changes were made, but have not yet been accepted.")
End Sub
См. также
Ссылка
Класс XmlEvent
Члены XmlEvent
Пространство имен Microsoft.Office.InfoPath