FormEvents.Submit イベント
ユーザー インターフェイスから [送信] コマンドが使用されると、または Submit メソッドが使用されると発生します。
名前空間: Microsoft.Office.InfoPath
アセンブリ: Microsoft.Office.InfoPath (microsoft.office.infopath.dll 内)
構文
'宣言
Public Event Submit As SubmitEventHandler
'使用
Dim instance As FormEvents
Dim handler As SubmitEventHandler
AddHandler instance.Submit, handler
public abstract event SubmitEventHandler Submit
例外処理
例外の種類 | 条件 |
---|---|
開発者は、InternalStartup メソッドとは異なる場所でイベントをバインドしようとしました。 |
コメント
重要 : |
---|
Submit イベントは、フォーム コードで開発者がインスタンス化するためのものではありません。開発者は、Microsoft Office InfoPath 2007 デザイン モード ユーザー インターフェイスからフォーム レベル イベントに対するイベント ハンドラの追加だけを行います。デザイン モード ユーザー インターフェイスからフォーム テンプレートにイベント ハンドラを追加すると、InfoPath は、EventManager クラスおよび FormEvents クラスのメンバを使用してフォーム コード ファイルの InternalStartup メソッドにコードを生成し、イベントをイベント ハンドラにバインドします。InfoPath のデザイン モードでイベント ハンドラを追加する方法の詳細については、「[方法] イベント ハンドラを追加する方法」を参照してください。 |
Submit イベントは、[送信オプション] ダイアログ ボックスでフォーム テンプレートに [コードを使用してユーザー設定操作を実行する] オプションが設定されている場合にのみ発生します。
Submit イベントは、SubmitEventHandler 代理を使用してバインドされます。
MergeEventArgs クラスの CancelableArgs プロパティを使用して Cancel プロパティを true に設定することで、Submit イベントをキャンセルできます。
イベント ハンドラのコードで CancelableArgs プロパティを使用して Message プロパティまたは MessageDetails プロパティの文字列を設定しても、CancelableArgs.Cancel プロパティを既定の設定である false のままにしておくと、成功メッセージと共に Message プロパティと MessageDetails プロパティのテキストが表示されます。このメッセージは、[フォーム送信オプション] のユーザー指定メッセージの設定 [成功時および失敗時にメッセージを表示する] と [成功時] を無効にします。
同様に、イベント ハンドラのコードで Message または MessageDetails の文字列を設定し、CancelableArgs.Cancel を true に設定すると、失敗時にメッセージが表示され、メッセージと共に Message プロパティと MessageDetails プロパティのテキストが示されて、[フォーム送信オプション] ダイアログ ボックスの設定が無効になります。
イベント ハンドラのコードで Message プロパティと MessageDetails プロパティを既定値の null のままにし、一方で CancelableArgs.Cancel を true に設定すると、送信操作は失敗したものと見なされます。失敗メッセージが表示されるかどうか、および表示されるメッセージは、[送信オプション] ダイアログ ボックスの設定によって決まります。
Application クラスの Quit メソッドの呼び出しは、Submit イベント ハンドラ内で行うことはできません。
この型またはメンバは、Microsoft Office InfoPath 2007 または Web ブラウザで開いているフォームで実行されているコードからのみアクセスできます。
例
次の例では、Submit イベントのイベント ハンドラを使用して、フォームが保存されていない場合にはフォームが送信されないようにしています。
public void FormEvents_Submit(object sender, SubmitEventArgs e)
{
if(this.Dirty || this.New)
MessageBox.Show("Please save this form before submitting it.");
e.CancelableArgs.Cancel = true;
else
e.CancelableArgs.Message = "Submit succeeded.";
}
Public Sub FormEvents_Submit(ByVal sender As Object, _
ByVal e As SubmitEventArgs)
If(Me.Dirty Or Me.New) Then
MessageBox.Show("Please save this form before submitting it.")
e.CancelableArgs.Cancel = True
Else
e.CancelableArgs.Message = "Submit succeeded."
End If
End Sub
関連項目
参照
FormEvents クラス
FormEvents のメンバ
Microsoft.Office.InfoPath 名前空間