イベント ハンドラーを追加する方法

適用対象: InfoPath 2010 | InfoPath Forms Services | Office 2010 | SharePoint Server 2010 | Visual Studio | Visual Studio Tools for Microsoft Office

このトピックでは、Microsoft Visual Studio Tools for Applications を使用して Microsoft InfoPath 2010 マネージ コード フォーム テンプレートにイベント ハンドラーを追加する手順を説明します。イベント ハンドラーをフォーム テンプレートに追加するには、まず、InfoPath のデザイン モードでフォーム テンプレートを開き、コードを記述するイベントに対して適切なユーザー インターフェイス コマンドを選択します。InfoPath デザイン モードでイベントのコマンドを選択したら、Microsoft Visual Studio Tools for Applications コード エディターのそのイベントのスケルトン イベント ハンドラーに自動的にフォーカスが切り替わります。

重要

イベント ハンドラーを追加するには、必ず、InfoPath デザイン モードのユーザー インターフェイスを使用してください。このユーザー インターフェイスでイベント ハンドラーを追加すると、フォーム テンプレート プロジェクトの FormCode.cs または FormCode.vb ファイルの InternalStartup メソッドにイベント バインド コードが生成されます。InternalStartup メソッドを作成したり、このメソッドに自分でコードを追加したりしないでください。

ボタン コントロールの Click イベントに対するイベント ハンドラーを追加する

  1. InfoPath デザイン モードでフォーム テンプレートを開き、フォームにボタン コントロールを追加します。

  2. 追加したボタンをクリックし、リボンの [プロパティ] タブの [ユーザー設定コード] をクリックします。

    Microsoft Visual Studio Tools for Applications コード エディターの Clicked イベントのスケルトン イベント ハンドラーにフォーカスが切り替わります。

フィールドまたはグループの Changing、Validating、または Changed イベントに対するイベント ハンドラーを追加する

  1. InfoPath デザイン モードでフォーム テンプレートを開きます。

  2. たとえば [テキスト ボックス] コントロールなど、フィールドまたはグループにバインドされたデータ入力コントロールを右クリックします。

  3. [プログラミング] をポイントし、イベント ハンドラーを作成するイベントをクリックします。Microsoft Visual Studio Tools for Applications コード エディターの ChangingValidating、または Changed イベントのスケルトン イベント ハンドラーにフォーカスが切り替わります。

    注意

    フォーム テンプレートの互換性設定が [Web ブラウザー フォーム] に設定されている場合、Changing イベントのイベント ハンドラーを作成するコマンドは使用できません。これは、InfoPath Forms Services を実行する Microsoft SharePoint Server 2010 上のドキュメント ライブラリに発行されたフォーム テンプレートのビジネス ロジックでは、Changing イベントがサポートされていないためです。Changing イベントのイベント ハンドラーを作成するには、InfoPath デザイン モードで互換性設定を [InfoPath エディター フォーム] に変更する必要があります。これを行うには、[ファイル] タブをクリックし、[フォームのオプション]、[互換性] の順にクリックして、[フォームの種類] を [InfoPath エディター フォーム] に設定します。

フォームの Loading、ViewSwitched、ContextChanged、および Sign イベントに対するイベント ハンドラーを追加する

  1. InfoPath デザイン モードでフォーム テンプレートを開きます。

  2. リボンの [開発] タブで、イベント ハンドラーを作成するフォーム イベントをクリックします。

    Microsoft Visual Studio Tools for Applications コード エディターの LoadingViewSwitchedContextChanged、または Sign イベントのスケルトン イベント ハンドラーにフォーカスが切り替わります。

    注意

    フォーム テンプレートの互換性設定が [Web ブラウザー フォーム] に設定されている場合、ContextChanged または Sign イベントのイベント ハンドラーを作成するコマンドは使用できません。これは、InfoPath Forms Services を実行する Microsoft SharePoint Server 2010 上のドキュメント ライブラリに発行されたフォーム テンプレートのビジネス ロジックでは、それらのイベントがサポートされていないためです。ContextChanged または Sign イベントのイベント ハンドラーを作成するには、InfoPath デザイン モードで互換性設定を [InfoPath エディター フォーム] に変更する必要があります。これを行うには、[ファイル] タブをクリックし、[フォームのオプション]、[互換性] の順にクリックして、[フォームの種類] を [InfoPath エディター フォーム] に設定します。

フォームの Submit イベントに対するイベント ハンドラーを追加する

  1. InfoPath デザイン モードでフォーム テンプレートを開きます。

  2. [ファイル] タブをクリックし、[情報] タブの [送信先] をクリックして、[送信オプション] をクリックします。

  3. [ユーザーによるこのフォームの送信を許可する] をクリックし、[コードを使用してユーザー設定操作を実行する] をクリックし、[コードの編集] をクリックします。

    Microsoft Visual Studio Tools for Applications コード エディターの Submit イベントのスケルトン イベント ハンドラーにフォーカスが切り替わります。

フォームの Save イベントに対するイベント ハンドラーを追加する

  1. InfoPath デザイン モードでフォーム テンプレートを開きます。

  2. [ファイル] タブをクリックして、[情報] タブの [フォームのオプション] をクリックします。

  3. [保存] カテゴリをクリックし、[ユーザー設定コードを使って保存] チェック ボックスをオンにして [編集] をクリックします。

    Microsoft Visual Studio Tools for Applications コード エディターの Save イベントのスケルトン イベント ハンドラーにフォーカスが切り替わります。

    注意

    フォーム テンプレートの互換性設定が [InfoPath Forms Services] に設定されている場合、[ユーザー設定コードを使って保存] チェック ボックスは使用できません。これは、InfoPath Forms Services を実行する Microsoft SharePoint Server 2010 上のドキュメント ライブラリに発行されたフォーム テンプレートのビジネス ロジックでは、Save イベントがサポートされていないためです。Save イベントのイベント ハンドラーを作成するには、InfoPath デザイン モードで互換性設定を [InfoPath エディター フォーム] に変更する必要があります。これを行うには、[ファイル] タブをクリックし、[フォームのオプション]、[互換性] の順にクリックして、[フォームの種類] を [InfoPath エディター フォーム] に設定します。

フォームの VersionUpgrade イベントに対するイベント ハンドラーを追加する

  1. InfoPath デザイン モードでフォーム テンプレートを開きます。

  2. [ファイル] タブをクリックして、[情報] タブの [フォームのオプション] をクリックします。

  3. [バージョン管理] カテゴリをクリックし、[既存のフォームの更新] ボックスの一覧の [ユーザー設定イベントの使用] をクリックし、[編集] をクリックします。

    Microsoft Visual Studio Tools for Applications コード エディターの Save イベントのスケルトン イベント ハンドラーにフォーカスが切り替わります。

フォームの Merge イベントに対するイベント ハンドラーを追加する

  1. InfoPath デザイン モードでフォーム テンプレートを開きます。

  2. [ファイル] タブをクリックして、[情報] タブの [フォームのオプション] をクリックします。

  3. [詳細設定] カテゴリをクリックし、[フォームの結合を有効にする] チェック ボックスをオンにし、[ユーザー設定コードを使って結合する] チェック ボックスをオンにして、[編集] をクリックします。

    Microsoft Visual Studio Tools for Applications コード エディターの Merge イベントのスケルトン イベント ハンドラーにフォーカスが切り替わります。

    注意

    フォーム テンプレートの互換性設定が [InfoPath Forms Services] に設定されている場合、[フォームの結合を有効にする] チェック ボックスは使用できません。これは、InfoPath Forms Services を実行する Microsoft SharePoint Server 2010 上のドキュメント ライブラリに発行されたフォーム テンプレートのビジネス ロジックでは、Merge イベントがサポートされていないためです。Merge イベントのイベント ハンドラーを作成するには、InfoPath デザイン モードで互換性設定を [InfoPath エディター フォーム] に変更する必要があります。これを行うには、[ファイル] タブをクリックし、[フォームのオプション]、[互換性] の順にクリックして、[フォームの種類] を [InfoPath エディター フォーム] に設定します。

関連項目

タスク

[ウォークスルー] 基本的なマネージ コード フォーム テンプレートを作成する方法