• ベストアンサー

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

現在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

  • エクセルVBAのプロパティボックスのフォントを変更したいんですけど

    エクセルVBA(VBE)のオブジェクトのプロパティボックス(デフォルトで画面の左下にあるやつ)のフォントが読みづらいんです。 (なんか小さい明朝体のようになっていて、アリが沢山いるみたいに見える(--; プロパティボックスのフォントを変更する方法を教えて下さい。

  • TextBoxのhWndプロパティVBAでも使えませんか?

    環境 OS:Win2000ProSP4 Excel2000および2002 Excel2000で、テキストボックスのあるフォームを作成しました。 選択したファイルを読み込んでテキストボックスに表示する機能があり それに加えて、テキストボックス中をマウスでクリックした時、その場 所のカーソルの位置(そこの行数と行内で何カラム目か、の2つ)を取得し て同じフォーム上に表示させる機能をつけました(矢印ボタンでカーソ ルが移動しても、位置情報を更新するようにしています)。ただし、 ネットで調べたカーソル位置取得方法はVBAでなくてVBのものなので、 API(SendMessage)に渡すテキストボックスのhWndプロパティはなく、 困ってしまいました。窮余の一策として、普通のテキストボックスの 代わりに、リッチテキストコントロールを使用して、その中にある hWndプロパティを渡して、上の機能を実現していました。ところが、 Excelを2002にアップグレードしたら、リッチテキストコントロール が使えないことが判明しました(MSのサイトによると、セキュリティの ため、とのこと)。 Excel2002で、2000時代につくったフォームを開くと、リッチテキスト コントロールがすっぽり抜け落ちている状態です。こうなれば、普通の テキストボックスのhWndプロパティをAPIで取得できないか、というこ とを調べているところで困っています。あるいは、2002でも使える同じ ようなコントロールがあれば助かります。 長くなりましたが、ご存知の方、アドバイスをお願いします。

  • 音が鳴らないようにしたい

    さっそくですが、質問に入ります。 VB.NET 2012(.Net Framework 3.5)でフォームにテキストボックスを張り付けています。 テキストボックスにフォーカスがある状態でキーボードのEnterキーを押すと音がなります。 この音がならないようにしたいのですが、どうすればよいでしょうか? テキストボックスのプロパティーは初期状態のままで何も変更してません。

  • tagプロパティについて

    VB6でtagプロパティを使う意味(メリット・デメリット)が知りたいです。 コントロール.tag = コントロール.text のようなソースを見て、ローカル変数でも良いような気ががして不思議に思いました。

  • VB2008 オブジェクトプロパティの保存方法

    VBの超初心者です。 早速質問ですが フォーム上に複数のチェックボックスやテキストがあり、そのプロパティ(checkedやtext)を保存し、 またその保存したファイルをフォーム上で開けることができるようにしたいのですが、 何をどうしたらいいのかわかりません。 方法としては↓に書かれているような方法であっているのでしょうか? http://dobon.net/vb/dotnet/file/xmlserializer.html ↑に書かれているMainClass.Main()を動かせば"C:\test\sample.xml"ができるのか? と、やってみたのですがDim serializer・・・のところでエラー ”System.InvalidOperationException はハンドルされませんでした。” となってしまいます。 そもそもの方法があっているのかどうかもわからず困惑中です。 どなたか、わかる方がいれば、参考ページでも結構ですので教えてください。 宜しく御願いします。

  • EXCELのフォームのプロパティを自動設定する方法。

    EXCELのフォームのプロパティを自動設定する方法。 いつもお世話になります。フォーム上の、例えばテキストボックスの位置をVBから変更する手段はありますでしょうか。開いているフォームのプロパティを設定するのは簡単ですが、そうではなくソースのデザイン自体を変更したいのです。 宜しくお願いします。

  • VB.NETでのコントロールの初期化

    VB.NETでのコントロールの初期化 VBの練習を始めたのですが、各コントロールの使用するプロパティを初期化する際の処理が、下記の記述であっているか判断して頂きたく思い、質問させていただきました。 判断して頂きたい処理は、ピクチャーボックスで画像を表示させる際の記述です。  PictureBox1.Image = Nothing のように記述しているのですが、これで合っているでしょうか? また、上記のもの以外でも、初期化の記述で知っているものがありましたら、教えていただけると幸いです。 ちなみに私はラベルのテキストを初期化する際の処理として  Label1.Text = String.Empty のような、記述をしています。 以上です。宜しくお願い致します。

  • HTML形式を出力するテキストボックスコントロール

    VBのコントロール(OCX)探しています. リッチテキストボックスのようにフォントに色をつけたり、フォントを変えたり、フォントのサイズをかえたりできて、RTFでなくて、HTML形式のファイルを出力するようなコントロールってありませんか?

  • XPでフォントサイズが変更出来ない

    環境は WinXPにVB6をインストール フォームエディタ上で テキストボックスでもラベルでもなんでもいいんで フォントを変更するために FONTプロパティの所をクリックすると 10分ほど置いておくと表示されるんですが フォントを変更するサブウインドウが表示されません 原因が全然分からず 同じような状況になった方 や対策法がありましたら 回答お願いします

  • Visual C++でフォント変更

     VisualC++.NETでダイアログベースのアプリケーションを作っています。しかし、ボタンや、スタティック・テキストなどのコントロールのフォントが、プロパティを見ても変更できません。  以前、フォントはプログラムコードでしか変更できないという話をきいたことがあるのですが、どうなのでしょうか?  もしそうだとしたら、どのようなことをすればフォントが変更できるのでしょうか?

このQ&Aのポイント
  • ミシンHS101でエラー6が発生し、針が降りない状態になりました。内釜を外し、回転レバーを手前に回しても針が下がらず、内部の金具に当たっている可能性もあります。
  • 内釜をセットする向きが悪いのか、針が降りません。外釜の状態では針を下ろすことができ、糸のセットも正常です。
  • 内釜を正しくセットする方法について教えてください。針が正常に降りるようにするための解決策を教えてください。
回答を見る