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 イベント ハンドラーでは行うことができません。
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