1

C++ (VS 2010 で開発) を使用して winform で作成されたアプリケーションがあります。GUI には、特定のテキスト フィールド、ラジオ ボタン、チェック ボックスなどがあります。ソフトウェアを操作するには、これらのフィールド/ボタン/ボックスなどに入力する必要があります。

およそ 50 の異なる GUI があり、それぞれにおよそ 20 のフィールドがあります。

アプリケーションを閉じて再起動した後、このフィールドの最新のパラメーターが自動的に入力されるようにしたいので、ユーザーはこれらの値をすべて再入力する必要がありません。

これを達成するための最も簡単で簡単な方法は何ですか?

4

3 に答える 3

1

これは、モデルに入力されたデータが含まれる MVC パターンを使用して解決するのが最適です。ビューには、(Winforms などで) 表示される方法が含まれます。最後に、ビジネス ロジックを実行する以外に、(状態を保存するために) いくつかの作業を行う必要があるコントローラーです。

これにはシリアル化を使用することをお勧めします。モデル フィールドをシリアル化して読み返すことができます (必要なフィールドのみ)。

シリアル化が気に入らない場合は、簡単に変更できる INI ファイルに書き込んでみてください。

3 番目に、データベースmdfファイルを使用して状態を保存できます。

ただし、これをすべてうまく行うには、MVC アーキテクチャを使用するようにアプリを変更する必要があります。

于 2012-11-01T08:07:51.280 に答える
1

Windowsレジストリを使用できます

WindowsFormName (サブキー) ------> ControlName (サブキー) -----------------> ControlValue (サブキー)

フォームが閉じているときに、各コントロールの値をレジストリに保存します

フォームがロードされているときに、値を読み取ります

于 2013-01-11T00:07:05.643 に答える
0

迅速で汚い解決策に満足している場合は、これを試すことができます:

保存メカニズムを実装します。

  1. すべてのフォームコントロールを繰り返します(パネルまたは他のコンテナーがある場合は再帰的に)
  2. コントロールが編集(またはデータを保持する他のタイプ)の場合は、コントロールテキストを名前と一緒に保存します
  3. 名前と値のペアを保存します(たとえば、INIファイル)

ロードメカニズムを実装します。これは、値の間に依存関係がないことを前提としています(自動計算フィールドがある場合はそれらを保存しないでください)

  1. ストレージから値をロードします(ファイルを選択した場合、ファイル名はフォーム名にすることができます)
  2. すべてのフォームコントロールを繰り返し、ロードされたデータにその名前が見つかった場合は、値を設定します

実装すると、このアプローチはすべてのフォームに使用でき、コントロールの追加/削除に対応します。ただし、ビジネスルールがある場合は、MVCアプローチを使用してモデルをシリアル化する方がよい場合があります。

于 2012-11-01T09:23:54.163 に答える