私はデータテーブルにバインドされたウィングリストを持っています。新しい非同期スレッドを作成し、そのスレッドからデータテーブルを渡すリモートサーバー呼び出しを行います。サーバコールが完了すると、wingridは自動的にリフレッシュして変更を表示します。しかし、これはプログラムのメインのUIスレッドでは行われていないため、コントロールが表示されて大きな赤いXが表示されることがあります。Infragistics - データソースの変更時に自動的に更新されるultrawingridを無効にします。
データソースが変更されたときにwingridが自動的に更新されないようにするフラグはありますか?リモートサーバコールの前にオフにして、メインスレッドに戻ってから再度オンにしたいと思います。終了したら、その後、
Grid1.SuspendRowSynchronization()
::私は何をしたいことはあると思い
これは、塗装のみを防止します。グリッドやバインドされたコントロールが通知を受け取るのを防ぐ方法がないため、UIスレッド上のDataTableを常に更新するのが最良の方法です。これはバックグラウンドスレッドからコントロールを更新しているため問題が発生する可能性がありますコントロールのいくつかのメンバーはスレッドセーフです。スレッドセーフの詳細については、MSDNのコントロールのスレッドセーフティセクションを参照してください。http://msdn.microsoft.com/en-us/library/system.windows.forms.control.aspx – alhalama
また、PostSharpのような無料のライブラリおそらく '[ThreadSafeMethod]'の助けを借りて? – Prokurors