XmlForm.FormState プロパティ
サーバー上の複数のセッションにわたって状態情報を維持するためにブラウザ対応のフォームで使用できる、System.Collections.IDictionary 型のプロパティ バッグへの参照を取得します。
名前空間: Microsoft.Office.InfoPath
アセンブリ: Microsoft.Office.InfoPath (microsoft.office.infopath.dll 内)
構文
'宣言
Public MustOverride ReadOnly Property FormState As IDictionary
'使用
Dim instance As XmlForm
Dim value As IDictionary
value = instance.FormState
public abstract IDictionary FormState { get; }
プロパティ値
フォーム コードの宣言セクションに定義されたユーザー定義の状態変数を含んでいる IDictionary。
コメント
このメンバは制限なしでアクセスできます。
この型またはメンバは、Microsoft Office InfoPath 2007 または Web ブラウザで開いているフォームで実行されているコードからのみアクセスできます。
例
次の例では、FormCode クラスの宣言セクション (InternalStartup メソッドの前) に、カウンタとして機能する状態変数を作成するための設計パターンを示しています。この例では、値を返す前に _Counter 変数が null であるかどうかを確認することで、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