玄関へお回り下さい。
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 の使用




2009/11/24