FormEvents.Loading イベント
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
フォーム テンプレートが読み込まれた後、ビューが初期化される前に発生します。
public:
abstract event Microsoft::Office::InfoPath::LoadingEventHandler ^ Loading;
public abstract event Microsoft.Office.InfoPath.LoadingEventHandler Loading;
member this.Loading : Microsoft.Office.InfoPath.LoadingEventHandler
Public MustOverride Custom Event Loading As LoadingEventHandler
イベントの種類
例外
開発者は、InternalStartup メソッドとは異なる場所でイベントをバインドしようとしました。
例
次の例では、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
注釈
重要: Loading イベントは、フォーム コードで開発者がインスタンス化することを意図したものではありません。 フォーム レベルのイベントのイベント ハンドラーは、Microsoft InfoPath デザイン モードのユーザー インターフェイスからのみ追加する必要があります。 デザイン モードのユーザー インターフェイスからフォーム テンプレートにイベント ハンドラーを追加すると、InfoPath は、 クラスと クラスのメンバーFormEventsを使用してEventManager、フォーム コード ファイルの InternalStartup メソッドでコードを生成し、イベントをイベント ハンドラーにバインドします。 InfoPath のデザイン モードでイベント ハンドラーを追加する方法の詳細については、「[方法] イベント ハンドラーを追加する方法」を参照してください。
Loading イベントは、デリゲートをLoadingEventHandler使用してバインドされます。
Loading イベントは、フォームが読み込まれる前、およびビューがレンダリングされる前に発生します。
InfoPath Forms Servicesを実行している SharePoint Server 2010 で適切に構成されたドキュメント ライブラリにフォーム テンプレートを展開して開いた場合、Loading イベントはセッションごとに 1 回だけ発生します。
クラスの プロパティを使用して Cancel プロパティSaveEventArgsを CancelableArgstrue に設定することで、Loading イベントを取り消すことができます。
注: Loading イベントが発生した場合、ビューは初期化されず、ビューに使用される XSL 変換 (XSLT) はまだ読み込まれません。 オブジェクトはXmlForm、Loading イベントがXmlFormCollection発生するまでコレクションに追加されません。 ただし、XmlForm オブジェクトは Loading イベントの間でも使用できます。
次のメソッドとプロパティに対する呼び出しは、Loading イベント ハンドラーでは行うことができません。
GetContextNodes(XPathNavigator)
、、または FileSubmitConnection クラスのAdoSubmitConnectionEmailSubmitConnectionメンバーへの呼び出しは、Loading イベント ハンドラーでは行えません。
この型またはメンバーには、Microsoft InfoPath Filler または Web ブラウザーで開いたフォームで実行されるコードからアクセスできます。