トップ回答者
アプリケーション全体のプロパティの保存場所

質問
-
VB.NET で、Windows Form のアプリケーションを開発しています。
各フォーム固有の変数は、フォームにプロパティを追加して読み書きすれば良いと思うのですが、アプリケーション全体で使用する変数は、どこに追加すれば良いのでしょうか?イメージとしては、アプリケーション全体を表すクラスにプロパティを追加し、そこに読み書きするような形だと思うのですが、それを追加する場所がよくわかりません。
たとえば、アプリケーション全体で使用したい、Client オブジェクトというオブジェクトがあったとして、
Dim _c As Client
_c = Application.Clientで、Client オブジェクトが取得できるような形です。
みなさん、どのようにされているのでしょうか?
回答
すべての返信
-
そのプロパティはアプリケーション終了時にも保持する必要があるのでしょうか? とりあえず以下をご紹介しておきます。
VB.NETのモジュールの正体は?
http://www.atmarkit.co.jp/fdotnet/dotnettips/248module/module.html
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/ -
Visual Studio 2005 以降だと My.Settings がありますね。
Visual Studioでアプリケーションの設定を保存する
http://dobon.net/vb/dotnet/programing/mysettings.html
DOBON.NET トップページ → http://dobon.net/Visual Basic 2005 での My.Settings の使用
http://msdn.microsoft.com/ja-jp/library/ms379611(VS.80).aspx -
trapemiyaさん、あんにんごさん、渋木宏明さん、ご回答ありがとうございます。
言葉が足りず、申し訳ありませんでした。1人のユーザーが、アプリケーションを起動してから終了するまでの間、保持しているデータ、というイメージでした。
ユーザーがフォーム間を遷移している間も、各フォームからアクセスできるようなデータという意味で書きました。いったん、アプリケーションを終了した場合は、リセットされることが望ましいため、設定ファイルへの書き出しなどは考えていません。Namespace My Partial Friend Class MyApplication Public Property Consigner() As Consigner Get End Get Set(ByVal value As Consigner) End Set End Property End Class End Namespace
こんな感じで設定してしまえば良いのでしょうか?
それなりに需要がありそうな(と私が思うだけ?)割に、設定ファイルへの書き出し等の情報にくらべて、使用例等が見つからない気がしたので質問してみました。 -
-