次の方法で共有


FormEvents.Loading イベント

フォーム テンプレートが読み込まれた後、ビューが初期化される前に発生します。

名前空間:  Microsoft.Office.InfoPath
アセンブリ:  Microsoft.Office.InfoPath (Microsoft.Office.InfoPath.dll)

構文

'宣言
Public MustOverride Event Loading As LoadingEventHandler
'使用
Dim instance As FormEvents
Dim handler As LoadingEventHandler

AddHandler instance.Loading, handler
public abstract event LoadingEventHandler Loading

例外

例外 条件
InvalidOperationException

開発者は、InternalStartup メソッドとは異なる場所でイベントをバインドしようとしました。

解説

重要

Loading イベントは、フォーム コードで開発者がインスタンス化するためのものではありません。開発者は、Microsoft InfoPath 2010 デザイン モード ユーザー インターフェイスからフォーム レベル イベントに対するイベント ハンドラーの追加だけを行います。デザイン モード ユーザー インターフェイスからフォーム テンプレートにイベント ハンドラーを追加すると、InfoPath は、EventManager クラスおよび FormEvents クラスのメンバーを使用してフォーム コード ファイルの InternalStartup メソッドにコードを生成し、イベントをイベント ハンドラーにバインドします。InfoPath のデザイン モードでイベント ハンドラーを追加する方法の詳細については、「[方法] イベント ハンドラーを追加する方法」を参照してください。

Loading イベントは、LoadingEventHandler デリゲートを使用してバインドされます。

Loading イベントは、フォームが読み込まれる前、およびビューがレンダリングされる前に発生します。

フォーム テンプレートが、InfoPath Forms Services を実行する SharePoint Server 2010 上の適切に構成されたドキュメント ライブラリに対して展開されて、そこから開かれると、Loading イベントはセッションごとに 1 回だけ発生します。

SaveEventArgs クラスの CancelableArgs プロパティを使用して Cancel プロパティを true に設定することで、Loading イベントを取り消せます。

注意

Loading イベントが発生した時点では、ビューは初期化されておらず、ビューに使用される XSLT (XSL Transformation) はまだ読み込まれていません。XmlForm オブジェクトは、Loading イベントが発生した後で、XmlFormCollection コレクションに追加されます。ただし、XmlForm オブジェクトは Loading イベントの間でも使用できます。

次のメソッドとプロパティに対する呼び出しは、Loading イベント ハンドラーでは行うことができません。

Quit

DisableAutoUpdate

EnableAutoUpdate

ExecuteAction

Export

ForceUpdate

GetContextNodes

GetSelectedNodes

SelectNodes

SelectText

SwitchView

Close

MergeForm

New

Save

SaveAs

Submit

Print

NewFromFormTemplate

Close

TaskPanes

AdoSubmitConnection クラス、EmailSubmitConnection クラス、または FileSubmitConnection クラスのメンバーに対する呼び出しは、Loading イベント ハンドラーでは行うことができません。

この型またはメンバーには、Microsoft InfoPath Filler または Web ブラウザーで開かれたフォームを実行中のコードからアクセスできます。

次の例では、Loading イベントに対するイベント ハンドラーを使用して、フォームがデジタル署名されているかどうかを判別し、されていない場合は Date1 フィールドに現在の日付を設定しています。

public void FormEvents_Loading(object sender, LoadingEventArgs e)
{
   if (this.Signed)
   {
         e.CancelableArgs.Message = 
            "This form is digitally signed. Loading is cancelled.";
         e.CancelableArgs.Cancel = true;
   }

   XPathNavigator myDate = 
      CreateNavigator().SelectSingleNode("/my:myFields/my:date1",
      NamespaceManager);

   // Check for and delete xsi:nil="true" attribute.
   if (myDate.MoveToAttribute("nil", 
      "http://www.w3.org/2001/XMLSchema-instance"))
   {
      myDate.DeleteSelf();
   }

   myDate.SetValue(System.DateTime.Now.ToString("yyyy-MM-dd"));
}
Public Sub FormEvents_Loading(ByVal sender As Object, _
   ByVal e As LoadingEventArgs)
   If (Me.Signed)Then
         e.CancelableArgs.Message = 
            "This form is digitally signed. Loading is cancelled."
         e.CancelableArgs.Cancel = True
   End If

   Dim myDate As XPathNavigator = 
      CreateNavigator().SelectSingleNode("/my:myFields/my:date1",
      NamespaceManager)

   ' Check for and delete xsi:nil="true" attribute.
   If (myDate.MoveToAttribute("nil", 
      "http://www.w3.org/2001/XMLSchema-instance"))
      myDate.DeleteSelf();
   End If

   myDate.SetValue(System.DateTime.Now.ToString("yyyy-MM-dd"));
End Sub

関連項目

参照

FormEvents クラス

FormEvents メンバー

Microsoft.Office.InfoPath 名前空間