My.Settings を使用して終了時の状態を保存・読み込み(1個) (SNo.287) | |
使用コントロール | 下図参照 |
その他条件 | WindowsXP /Vista Visual Basic 2005 / 2008 |
★ 設定の作成
1.ソリューションエクスプローラーで、[My Project] をダブルクリックします。下記のような状態を保存する場合 (又は、メニュー→プロジェクト→最下部の***のプロパティ をクリック でも同じ) 2.下記のような画面が表示されるので、左側のタブの[設定]をクリック。 3.上記の設定例にならって (1) 名前 任意の名前で結構ですから、Form の Size を連想するような名前を 付けて下さい。 (例では、FormSize) (2) 型 保存したいプロパティ等の型を右のから選んで下さい。 (例では、System.Drawing.Size) (3) スコープ 設定ファイルのスコープ右のから選んで下さい。 (例では、ユーザー) アプリケーション:読み込み専用で、アプリケーションの全ユーザーで共有されます ユーザー :読み書きができ、設定ファイルは、 ***.vbproj 等と同じフォルダーに app.config という名前で保存され、実行時には、 [exe名].exe.config という名前で、 exe ファイルと同じフォルダーに作成される。 (理解できるまでは、ユーザーに設定しておいて下さい) (4) 値 保存したいプロパティ等の値を記入して下さい。 (例では、300,200) 表示したい、Form の大きさを記入 (5) 同様に順次、保存したいコントロールの値を設定して下さい。 4.設定ができたら、自動的に、起動時・終了時に、読み書きができるようにプロパティに バインドします。 (1) 下記のように、Form のプロパティを項目別に表示し、データの項目の下図の赤丸の部分を クリックして下さい。 (2) すると下図のような画面が表示されます。 (3) Form のプロパティ が表示されますので、設定したいプロパティの上図の赤丸の部分を クリックすると、先ほど設定した時の[名前]が表示されているはずですから、それを 選択して下さい。 5.以下、同様に設定したいコントロールのプロパティを開き、設定値をプロパティに バインドして下さい。 |
|
以上で設定は、終わりです。プログラムを実行すると、設定した内容が各コントロールのプロパティに反映されているかと思います。 テキストボックスの内容を書き換え、Form の位置やサイズを変更し、ついでに、RadioButton のチェックも変更して、一旦プログラムを終了してから、再度、起動して見て下さい。 どうですか? 終了時の状態が保存されていて、それが反映していませんか? 注意 Form の Size の設定については、下記のリンク先をご覧下さい。 My.Settings を使用して終了時の状態を保存・読み込み 6.プログラムで読み込み反映させる場合 上記のように設定したいプロパティに、My. と入力すると後は上記のように自動で表示されるので、 設定した値を選択してください。 7.プログラムから終了時に書き込む場合は、同様に下記のように記入して下さい。 Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As _ System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing My.Settings.FormSize = Me.Size My.Settings.text1text = TextBox1.Text My.Settings.RadioButton1 = RadioButton1.Checked My.Settings.RadioButton2 = RadioButton2.Checked End Sub ※ プログラム上から上記のように、読み書きする場合は、上記の [4.項] のプロパティにバインドする必要はありません。 ※ 注意 フォームにスクロールバーを付けているような場合、上記、4.と 5.のように プロパティにバインドすると、フォーム等の描画が乱れるようです。 その場合、6.と 7.のようにプログラムから読み書きして下さい。 詳しくは、下記サイトに書いてありますので、見て置いて下さい。 Visual Basic 2005 での My.Settings の使用 |