1

同じデータベースで動作する2つのアプリケーションを構築しています。私の問題は、自動更新を作成したいということです。

詳細 :

私は農園を持っており、メインフォームにいくつかのデータ(たとえば、薬のリスト)を表示しています。薬を追加/編集/削除できる別のアプリケーションがあります。

最初のアプリケーションを時々更新したい(1〜2秒)。

メインアプリケーションで別のスレッドを作成し、2秒間スリープして呼び出しようとしましたが、アプリケーションがフリーズするので、それは望ましくありません。アプリケーション(両方)が機能し、何らかの形でバックグラウンド更新を実行するようにしたい。

アイデア?

4

3 に答える 3

2

BackgroundWorkerを使用すると、これを実行できます。

于 2012-05-03T19:29:24.807 に答える
1

のインスタンスを使用しSystem.Threading.TimerてX秒ごとに表示を更新する場合は、ティックコールバックをバックグラウンドスレッドに依存させることができます。これにより、ディスプレイがフリーズするのを防ぎます。

コントロールにアクセスできるのは、更新されたスレッドのコントロールのみであることを忘れないでください。ワーカースレッドのコントロールにアクセスする必要がある場合は、(WinFormsの)InvokeRequired/Invokeパターンを使用できます。

于 2012-05-03T19:34:00.197 に答える
1

非同期CTPを見てください。バックグラウンドで作業を行い、後でビュー(フォーム)を更新するのに役立ちます。

于 2012-05-03T19:52:14.223 に答える