XmlForm.FormState プロパティ
サーバー上の複数のセッションにわたって状態情報を維持するためにブラウザー対応のフォームで使用できる、System.Collections.IDictionary 型のプロパティ バッグへの参照を取得します。
名前空間: Microsoft.Office.InfoPath
アセンブリ: Microsoft.Office.InfoPath (Microsoft.Office.InfoPath.dll)
構文
'宣言
Public MustOverride ReadOnly Property FormState As IDictionary
Get
'使用
Dim instance As XmlForm
Dim value As IDictionary
value = instance.FormState
public abstract IDictionary FormState { get; }
プロパティ値
型: System.Collections.IDictionary
フォーム コードの宣言セクションに定義されたユーザー定義の状態変数を含んでいる IDictionary。
解説
このメンバーには、制約なしでアクセスできます。
この型またはメンバーには、Microsoft InfoPath Filler または Web ブラウザーで開かれたフォームを実行中のコードからアクセスできます。
例
次のコードの例では、FormCode クラスの宣言セクション (InternalStartup メソッドの前) に、カウンターとして機能する状態変数を作成するための設計パターンを示しています。次のコードの例では、値を返す前に _Counter 変数が null 参照 (Visual Basic ではNothing ) であるかどうかを検証することで、FormState 配列が初期化されていない場合のエラーを回避しています。
private int _Counter
{
get
{
if(FormState["_Counter"] != null)
{
return (int) FormState["_Counter"];
}
else
{
return 0;
}
}
set
{
FormState["_Counter"] = value;
}
}
Private Property _Counter As Integer
Get
If(FormState("_Counter") != null) Then
_Counter = DirectCast(FormState("_Counter"), Integer)
Else
_Counter = 0
End If
End Get
Set
FormState("_Counter") = value
End Set
End Property