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


XmlEvent.Changing Событие

Определение

Создается после изменений в связанном XML-документе формы, но до принятия этих изменений.

public:
 abstract event Microsoft::Office::InfoPath::XmlChangingEventHandler ^ Changing;
public abstract event Microsoft.Office.InfoPath.XmlChangingEventHandler Changing;
member this.Changing : Microsoft.Office.InfoPath.XmlChangingEventHandler 
Public MustOverride Custom Event Changing As XmlChangingEventHandler 

Тип события

Исключения

Попытка разработчика привязать событие к узлу в дополнительном источнике данных. Это событие не поддерживается для дополнительного источника данных.

Примеры

В следующем примере при изменении поля field2 возникает событие Change и FormError объект для field1 добавляется в formErrorCollection с помощью Add(XPathNavigator, String, String, String) метода класса FormErrorCollection .

Это связывает сообщение об ошибке со значением field1. Строка, переданная в message качестве параметра метода Add , отображается в подсказке экрана при наведении указателя мыши на поле field1. Когда пользователь щелкает правой кнопкой мыши поле 1 и щелкает полное описание ошибки, 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

Комментарии

Важно! Событие Изменение не предназначено для создания экземпляра разработчиком в коде формы. При добавлении обработчика событий в шаблон формы из пользовательского интерфейса режима конструктора Microsoft InfoPath создает код в методе InternalStartup файла кода формы с помощью EventManager класса и члена класса для привязки XmlEvent событий уровня документа к обработчикам событий. Сведения о порядке добавления обработчиков событий в режиме конструктора InfoPath см. в разделе How to: Add an Event Handler.

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

Этот обработчик события позволяет пользователям отменить операцию.

Во время события Changing связанный XML-документ формы переводится в режим только для чтения. Если для свойства XmlChangingEventArgs.CancelableArgs.Cancel установлено значение true, InfoPath отклоняет внесенные изменения и для пользователя отображается окно сообщения. Если возникает ошибка в коде для события Changing, InfoPath отклоняет изменения и возвращает данные к предыдущему состоянию.

Примечание. Рекомендуется избегать переключения представлений во время события Изменения . Изменения еще не приняты, и переключение на другое представление может привести к ошибке.

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

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