2009-04-07 23 views
2

コンボボックスのオートコンプリートソースとして使用するために、特定のPC上のアプリケーションのすべての使用にわたってコンボボックスに入力されたすべての文字列のリストを維持したいと思います。つまり、私はComboBoxの "Fred"に入り、データをコミットし、アプリケーションを閉じ、アプリケーションを再オープンし、ComboBoxを再び開き、 "F"と入力して、提案 "Fred"を受け取る。セッション間でオートコンプリート/提案リストを維持する最良の方法

メモリ内にこのようなリストを作成して保持し、ComboBoxなどに入力されたときに新しい要素を追加するためのコードをすでに用意しているとします。これを保存/ロードするにはどうすればよいですかセッション間のデータ?

可能性のある複雑な要因は:このアプリケーションは、ワンクリックの展開を通じて展開されると、オンラインアップデートのためのアプリケーションが起動するたびに検索します。私は、アプリケーションが更新されると、更新が完了した後もリストが存在することを望んでいます。

ありがとうございました。

答えて

2

あなたのアクセスレベルに応じて、フラット・ファイルに格納することが最も簡単な選択と思われます。

  • オプションのリストを読むには、ファイルを読み、空のリストがない場合はそれを返します。
  • アイテムを追加するには、ファイルが存在しない場合は作成し、オプションを追加します。

つまり、更新が空のファイルを送信しないので、データは失われません。

appearsファイルをデータディレクトリに置くか、Isolated Storageを使用することができます。

+0

こんにちは、あなたは私がこのファイルを保存することを示唆しているところで私を確認できますか?それが自分で設定した場所にあるのか、アプリケーションディレクトリにあるのかだけです。ありがとう。 – Frosty840

+0

私は/ var/app_nameと言っていますが、私は* nixの人です。 MS Windowsの人は、アプリケーションがファイルを置く場所を持っていますか?私はそれがこの時点で知られていた芸術だと思っていたでしょう。 – MarkusQ

+0

ClickOnceのデプロイメントでは、英数字の地獄のようなものがあります。これは、.netフレームワークの一部によって提供される特別なインストール方法であり、主にプログラマーの制御下にはありません。だからこそ、私はappフォルダに直接ファイルを格納することについて少し気にせずにいる。 – Frosty840

1

は、私は単純にユーザー設定に建て使用します(マイプロジェクト]> [設定]> [設定の適用範囲については、「ユーザー」を選択してください)。彼らは非常に検索して更新するのは簡単です。私は広範なテストを行っていませんが、アプリケーションのアップデートを続けると思います。

アプリケーションでデータベースを使用していますか?そうであれば、それは永久保存用の別のオプションになります。

編集
[ユーザー設定]オプションで行くことに決めた場合は、ここではそれらの設定およびClickOnceの持つ問題を解決する新しいquestionです。

関連する問題