SQL Serverの型付きデータセットに標準の.Netデータバインディングを使用して、単純なデータUIを作成しています。UI以外のスレッドでモーダルダイアログを実行
すべてのDataAdapterでFill
を呼び出して、別のユーザーがデータを変更した場合にデータベースから新しいデータを取得するリロードボタンがあります。
これは、UIがフリーズするまでに時間がかかります。 UIスレッドで実行する必要があります。または、データバインディングイベントハンドラはスレッド間例外をスローします。
私は、UIスレッドがデータベースに接続している間、バックグラウンドスレッド(これはアニメーション化できるように)でモーダルの「お待ちください」ダイアログを表示したいと思います。
UI以外のスレッドでモーダルダイアログボックスを表示するにはどうすればよいですか?
EDIT:私は、ベストプラクティスは、バックグラウンドでの動作を実行することであることを認識してんだけど、私が行うことができないため、データバインディングのイベントのこと。
私が質問で説明したように、私はできません。私はこれがベストプラクティスであることをよく承知しています。 – SLaks
あなたはまだできると思います。これは、バックグラウンドスレッドがデータを直接更新してはならないことを意味します。それらを取得し、それらをパッケージ化し、メインスレッドに委譲してUIを更新します – mfeingold
あなたのジレンマを理解していますが、私はまだ考えているものが代替品よりも良い(問題が少ない)と考えています – mfeingold