FormEvents.Loading イベント
フォーム テンプレートが読み込まれた後、ビューが初期化される前に発生します。
名前空間: Microsoft.Office.InfoPath
アセンブリ: Microsoft.Office.InfoPath (microsoft.office.infopath.dll 内)
構文
'宣言
Public Event Loading As LoadingEventHandler
'使用
Dim instance As FormEvents
Dim handler As LoadingEventHandler
AddHandler instance.Loading, handler
public abstract event LoadingEventHandler Loading
例外処理
例外の種類 | 条件 |
---|---|
開発者は、InternalStartup メソッドとは異なる場所でイベントをバインドしようとしました。 |
コメント
重要 : |
---|
Loading イベントは、フォーム コードで開発者がインスタンス化するためのものではありません。開発者は、Microsoft Office InfoPath 2007 デザイン モード ユーザー インターフェイスからフォーム レベル イベントに対するイベント ハンドラの追加だけを行います。デザイン モード ユーザー インターフェイスからフォーム テンプレートにイベント ハンドラを追加すると、InfoPath は、EventManager クラスおよび FormEvents クラスのメンバを使用してフォーム コード ファイルの InternalStartup メソッドにコードを生成し、イベントをイベント ハンドラにバインドします。InfoPath のデザイン モードでイベント ハンドラを追加する方法の詳細については、「[方法] イベント ハンドラを追加する方法」を参照してください。 |
Loading イベントは、LoadingEventHandler 代理を使用してバインドされます。
Loading イベントは、フォームが読み込まれる前、およびビューがレンダリングされる前に発生します。
フォーム テンプレートが、Microsoft InfoPath Forms Services 2007 に対して、または InfoPath Forms Services を実行する Office SharePoint Server 2007 上の適切に構成されたドキュメント ライブラリに対して展開されて、そこから開かれると、Loading イベントはセッションごとに 1 回だけ発生します。
SaveEventArgs クラスの CancelableArgs プロパティを使用して Cancel プロパティを true に設定することで、Loading イベントをキャンセルできます。
メモ : |
---|
Loading イベントが発生した時点では、ビューは初期化されておらず、ビューに使用される XSLT (XSL Transformation) はまだ読み込まれていません。XmlForm オブジェクトは、Loading イベントが発生した後で、XmlFormCollection コレクションに追加されます。ただし、XmlForm オブジェクトは Loading イベントの間でも使用できます。 |
次のメソッドとプロパティに対する呼び出しは、Loading イベント ハンドラでは行うことができません。
AdoSubmitConnection クラス、EmailSubmitConnection クラス、または FileSubmitConnection クラスのメンバに対する呼び出しは、Loading イベント ハンドラでは行うことができません。
この型またはメンバは、Microsoft Office InfoPath 2007 または 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 名前空間