FormEvents.Save 事件

定义

在用户界面中使用“保存”或“另存为”命令时,或使用 和 SaveAs(String) 方法时Save()发生。

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

事件类型

例外

开发人员尝试绑定 InternalStartup 方法以外的某个位置的事件。

示例

在以下示例中,Save 事件的事件处理程序检查 Field2 是否为空以及是否未执行保存操作。 如果为空,则显示一条消息并取消该保存操作。

public void FormEvents_Save(object sender, SaveEventArgs e)
{
   // Check to see if Field2 is empty.
   XPathNavigator reqField = 
      CreateNavigator().SelectSingleNode("/my:myFields/my:field2", 
      NamespaceManager);
   if(reqField.ToString() == "")
   {
      MessageBox.Show("Field2 is empty.\nYou cannot save the form.");
      e.CancelableArg.Cancel = true;
   }
   else
   {
   // The Dirty property will be set to false if save is successful.
      e.PerformSaveOperation();
      e.CancelableArgs.Cancel = false;
   }
}
Public Sub FormEvents_Save(ByVal sender As Object, _
   ByVal e As SaveEventArgs)
   ' Check to see if Field2 is empty.
   Dim reqField as XPathNavigator = 
      CreateNavigator().SelectSingleNode("/my:myFields/my:field2", _
      NamespaceManager)
   If(reqField.ToString() = "") Then
      MessageBox.Show("Field2 is empty" & vbNewLine & _
         "You cannot save the form.")
      e.CancelableArgs.Cancel = True
   Else
   ' The Dirty property will be set to false if save is successful.
   e.PerformSaveOperation()
   e.CancelableArgs.Cancel = False
   End If
End Sub

注解

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

仅当表单模板在“ 表单 选项”对话框中设置了“使用自定义代码保存”选项时,才会引发 Save 事件。

Save 事件是使用委托绑定的SaveEventHandler

可以使用 CancelableArgs 类的 SaveEventArgs 属性将 Cancel 属性设置为 true 来取消 Save 事件。

对象 SaveEventArgs 作为参数传递给 Save 事件的事件处理程序,提供可用于获取窗体文件名、确定保存状态和执行保存操作的属性和方法。

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

适用于