- ベストアンサー
プロパティ値の保存(?)
現在VB.NETでEXEを作っているのですが、ひとつ疑問があります。それぞれのコントロールのプロパティ値はデフォルトとして、EXEを再起動するたびにその初期値にもどりますが、あるとき変更したプロパティ値(たとえばテキストボックスのフォントプロパティなど)が次の起動時に維持されているようにするにはどうすればよいのでしょうか?よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
単純な方法ですと、例えばプログラムの終了時に、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
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
#1さんのやり方が一般的だと思いますが System.Runtime.Serialization.Formatters.Binary; を使って、 ファイルにシリアライズ、デシリアライズできます。 やることは、結局、終了前にファイル保存して、起動直後にファイルから読み出すことなんですが、それぞれのプロパティなどを意識せずにすみます
お礼
さらに高度な技術っぽいですね~。でもありがとうございました!
お礼
ご丁寧にありがとうございました。 .NETの場合、INIを扱うクラスがないため、参考にさせていただいたサイトからクラスをもらい、なんとかカレントフォルダのINIファイルに設定を保存・読み込みできるようになりました。XMLができればもっといいかもしれませんが・・・。とにかくがんばります。