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 は、 クラスと クラスのメンバーFormEventsを使用してEventManager、フォーム コード ファイルの InternalStartup メソッドでコードを生成し、イベントをイベント ハンドラーにバインドします。 InfoPath のデザイン モードでイベント ハンドラーを追加する方法の詳細については、「[方法] イベント ハンドラーを追加する方法」を参照してください。
Save イベントは、フォーム テンプレートの [フォーム オプション] ダイアログ ボックスで [カスタム コードを使用して保存] オプションが設定されている場合にのみ発生します。
Save イベントは、デリゲートをSaveEventHandler使用してバインドされます。
クラスの プロパティを使用して Cancel プロパティSaveEventArgsを CancelableArgstrue に設定することで、Save イベントを取り消すことができます。
Save イベントのイベント ハンドラーにパラメーターとして渡される オブジェクトはSaveEventArgs、フォームのファイル名の取得、保存状態の決定、保存操作の実行に使用できるプロパティとメソッドを提供します。
この型またはメンバーには、Microsoft InfoPath Filler で開いたフォームで実行されるコードからのみアクセスできます。