Freigeben über


FormEvents.Save Ereignis

Definition

Tritt auf, wenn die Befehle Speichern oder Speichern unter über die Benutzeroberfläche verwendet werden oder wenn die Save() Methoden und SaveAs(String) verwendet werden.

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 

Ereignistyp

Ausnahmen

Es wurde versucht, das Ereignis an einen anderen Speicherort als die InternalStartup-Methode zu binden.

Beispiele

Im folgenden Beispiel überprüft der Ereignishandler für das Save-Ereignis , ob Field2 leer ist, und führt keinen Speichervorgang aus. Wenn sie leer ist, wird eine Meldung angezeigt, und der Speichervorgang wird 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

Hinweise

Wichtig: Das Save-Ereignis soll nicht vom Entwickler im Formularcode instanziiert werden. Sie sollten nur Ereignishandler für Ereignisse auf Formularebene über die Benutzeroberfläche des Microsoft InfoPath-Entwurfsmodus hinzufügen. Wenn Sie ihrer Formularvorlage über die Benutzeroberfläche des Entwurfsmodus einen Ereignishandler hinzufügen, generiert InfoPath Code in der InternalStartup-Methode Ihrer Formularcodedatei mithilfe der EventManager -Klasse und des Members der FormEvents -Klasse, um das Ereignis an ihren 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 für die Formularvorlage die Option Mit benutzerdefiniertem Code speichern im Dialogfeld Formularoptionen festgelegt ist.

Das Save-Ereignis wird mithilfe des SaveEventHandler Delegaten gebunden.

Das Save-Ereignis kann mithilfe der CancelableArgs -Eigenschaft der SaveEventArgs -Klasse abgebrochen werden, um die Cancel-Eigenschaft auf true festzulegen.

Das SaveEventArgs -Objekt, das als Parameter an einen Ereignishandler für das Save-Ereignis übergeben wird, stellt Eigenschaften und Methoden bereit, die verwendet werden können, um den Dateinamen des Formulars abzurufen, status zu speichern und den Speichervorgang auszuführen.

Auf diesen Typ oder dieses Mitglied kann nur über Code zugegriffen werden, der in Formularen ausgeführt wird, die in Microsoft InfoPath Filler geöffnet wurden.

Gilt für: