次の方法で共有


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

例外処理

例外の種類 条件

InvalidOperationException

開発者は、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.Canceltrue に設定すると、失敗時にメッセージが表示され、メッセージと共に Message プロパティと MessageDetails プロパティのテキストが示されて、[フォーム送信オプション] ダイアログ ボックスの設定が無効になります。

イベント ハンドラのコードで Message プロパティと MessageDetails プロパティを既定値の null のままにし、一方で CancelableArgs.Canceltrue に設定すると、送信操作は失敗したものと見なされます。失敗メッセージが表示されるかどうか、および表示されるメッセージは、[送信オプション] ダイアログ ボックスの設定によって決まります。

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 名前空間