0

簡単そうに見えますが、探しているものに合った説明がなかなか見つかりません。フォームのバックグラウンドでデータベースにアクセスし、フォームのコントロールを更新する方法を知っている人はいますか?たとえば、私のビジュアルC#アプリケーションは、MYSQLWebサーバーデータベースからいくつかのテキストボックスとラベルを読み込んでいます。誰かがWebサイトのデータベースを更新したときに、その変更がC#アプリケーションに自動的に反映されるようにしたいと思います。タイマーを使ってみましたが、タイマーが切れてデータを取得するとフォームがロックされます。backgroundworkerコントロールは有望に見えますが、それを2回以上実行することはできないようで、私が望むことを実行することさえできませんでした。私の場合、バックグラウンドワーカーは行く方法ですか?もしそうなら、30秒ごとのように常にデータベースにヒットするように設定できますか?任意の推奨事項をいただければ幸いです!

ありがとう、

4

1 に答える 1

1
  • フォームのロード時に完全に分離されたスレッド(System.Threading.Thread)を開始し、データベースをポーリングして、変数に変更を書き込み(use lock())、変更が発生した場合はフラグを設定します。
  • フォームでタイマーを使用して変更フラグをチェックし(たとえば、250ミリ秒ごと)、存在する場合は、変数からフォームにコピーします(ここでもlock()ティアリングを回避するために使用します)
于 2012-06-26T23:56:32.163 に答える