FormEvents.Save-Ereignis
Tritt ein, wenn die Befehle Speichern oder Speichern unter von der Benutzeroberfläche verwendet werden, oder bei Verwendung der Save- und SaveAs-Methoden.
Namespace: Microsoft.Office.InfoPath
Assembly: Microsoft.Office.InfoPath (in microsoft.office.infopath.dll)
Syntax
'Declaration
Public Event Save As SaveEventHandler
'Usage
Dim instance As FormEvents
Dim handler As SaveEventHandler
AddHandler instance.Save, handler
public abstract event SaveEventHandler Save
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
Es wurde versucht, das Ereignis an einen anderen Speicherort als die InternalStartup-Methode zu binden. |
Hinweise
Wichtig
Das Save-Ereignis sollte nicht im Formularcode instanziiert werden. Ereignishandler sollten Ereignissen auf Formularebene nur von der Entwurfsmodus-Benutzeroberfläche von Microsoft Office InfoPath 2007 aus hinzugefügt werden. Wenn Sie der Formularvorlage von der Entwurfsmodus-Benutzeroberfläche aus einen Ereignishandler hinzufügen, wird in InfoPath mithilfe der EventManager-Klasse und mithilfe des Members der FormEvents-Klasse in der InternalStartup-Methode der Formularcodedatei Code generiert, um das Ereignis an den zugehörigen Ereignishandler zu binden. Weitere Informationen zum Hinzufügen von Ereignishandlern im InfoPath-Entwurfsmodus finden Sie unter Vorgehensweise: Hinzufügen eines Ereignishandlers.
Das Save-Ereignis wird nur ausgelöst, wenn in der Formularvorlage im Dialogfeld Formularoptionen die Option Speichern mittels benutzerdefiniertem Code festgelegt ist.
Die Bindung des Save-Ereignisses erfolgt mithilfe des SaveEventHandler-Delegaten.
Das Save-Ereignis kann mithilfe der CancelableArgs-Eigenschaft der SaveEventArgs-Klasse abgebrochen werden, um die Cancel-Eigenschaft auf true festzulegen.
Das an einen Ereignishandler des Save-Ereignisses als Parameter übergebene SaveEventArgs-Objekt stellt Eigenschaften und Methoden bereit, die zum Abrufen des Formulardateinamens, zum Festlegen des Speicherstatus und zum Ausführen des Speichervorgangs verwendet werden können.
Auf diesen Typ oder diesen Member kann nur über Code zugegriffen werden, der in Formularen ausgeführt wird, die mit Microsoft Office InfoPath 2007 geöffnet wurden.
Beispiel
Im folgenden Beispiel überprüft der Ereignishandler für das Save-Ereignis, ob "Field2" leer ist. Wenn nicht, wird ein Speichervorgang ausgeführt. Andernfalls wird eine Meldung angezeigt und der Speichervorgang abgebrochen.
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
Siehe auch
Referenz
FormEvents-Klasse
FormEvents-Member
Microsoft.Office.InfoPath-Namespace