Freigeben über


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

InvalidOperationException

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