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 进行更改时,将引发 Changing 事件,并使用 FormErrorFormErrorCollectionAdd(XPathNavigator, String, String, String) 类的 方法将 field1 的对象添加到窗体的 FormErrorCollection

这会将一条错误消息与 field1 关联。 当用户将鼠标悬停在 field1 上时,作为 Add 方法的参数传递message的字符串将显示在屏幕提示中。 当用户右键单击 field1 ,然后单击“完整错误说明”时,InfoPath 将显示完整的错误消息,包括作为 messageDetailsAdd 方法的参数传递的字符串。

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

注解

重要提示Changing 事件不应由开发人员在表单代码中实例化。 从设计模式用户界面向表单模板添加事件处理程序时,Microsoft InfoPath 将使用 EventManager 类和 类的成员XmlEvent在表单代码文件的 InternalStartup 方法中生成代码,以将文档级事件绑定到其事件处理程序。 有关如何在 InfoPath 设计模式下添加事件处理程序的信息,请参阅如何:添加事件处理程序。

Changing 事件是使用委托绑定的XmlChangingEventHandler

此事件处理程序允许用户取消操作。

Changing 事件期间,表单的基础 XML 文档处于只读模式。 如果 XmlChangingEventArgs.CancelableArgs.Cancel 属性设置为 true,则 InfoPath 将拒绝所做的更改,并向用户显示一个消息框。 如果 Changing 事件的代码中发生了错误,则 InfoPath 将拒绝更改,并将数据还原到以前的状态。

注意:最好避免在 更改 事件期间切换视图;尚未接受更改,切换到另一个视图可能会导致错误。

可以通过 Microsoft InfoPath Filler 中打开的表单中运行的代码访问此类型或成员。

适用于