FormEvents.Save 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在用户界面中使用“保存”或“另存为”命令时,或使用 和 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 中打开的表单中运行的代码访问此类型或成员。