• ベストアンサー

プロパティ値の保存(?)

現在VB.NETでEXEを作っているのですが、ひとつ疑問があります。それぞれのコントロールのプロパティ値はデフォルトとして、EXEを再起動するたびにその初期値にもどりますが、あるとき変更したプロパティ値(たとえばテキストボックスのフォントプロパティなど)が次の起動時に維持されているようにするにはどうすればよいのでしょうか?よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

単純な方法ですと、例えばプログラムの終了時に、c:\保存データというファイルに、 テキストボックスのフォントプロパティ=フォント名,フォントサイズ,… などのようなファイルを作成しておき、 プログラムが起動されたときには、c:\保存データというファイルを必ず読み込むような方法です。 ただし、これは該当ファイルが削除されたり、別のプログラムが同名のファイルを作ったりするとまともに動作できませんから、Windowsのプログラムは、iniファイルを使う方法→レジストリを使う方法と進歩してきました。 APIの関数名GetProfileStringや、iniファイル、レジストリについて調べると良いかも? トライフィールド - Programming tips.12 - [VB.NET]INIファイルを読み書きする http://www.tri-field.com/progtips/tips12.html Powan.net - VisualC++あれこれ - INIファイルとレジストリ http://www.powan.net/rooms/vc6/Group16/IniFile.htm

参考URL:
http://www.tri-field.com/progtips/tips12.html, http://www.powan.net/rooms/vc6/Group16/IniFile.htm
mofa
質問者

お礼

ご丁寧にありがとうございました。 .NETの場合、INIを扱うクラスがないため、参考にさせていただいたサイトからクラスをもらい、なんとかカレントフォルダのINIファイルに設定を保存・読み込みできるようになりました。XMLができればもっといいかもしれませんが・・・。とにかくがんばります。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

#1さんのやり方が一般的だと思いますが System.Runtime.Serialization.Formatters.Binary; を使って、 ファイルにシリアライズ、デシリアライズできます。 やることは、結局、終了前にファイル保存して、起動直後にファイルから読み出すことなんですが、それぞれのプロパティなどを意識せずにすみます

mofa
質問者

お礼

さらに高度な技術っぽいですね~。でもありがとうございました!

関連するQ&A