0

ピクチャーボックスを持っています。このピクチャーボックスはマップに使用されます。

マップには要素があります。たとえば、ディスプレイ。

Windowsユーザーコントロールから「ディスプレイ」を作成しました。このユーザー コントロールには、「パネル、パネル上の 3 つのピクチャ ボックス」があります。

どのユーザーも画面上に「表示」を作成し、それをピクチャボックス (マップ) のコントロールとして保存します。ユーザーがデータを保存すると、データベースに保存されます。

毎秒、ピクチャ ボックス (地図) を見て、その上のデータとデータベースを制御します。「表示」がそのステータスを変更した場合(進行中または停止中、交通標識の種類など)、変更されたものを見つけて更新しました。

ここで質問です。ディスプレイ (ユーザー コントロール) を削除して、マップ (ピクチャ ボックス) コントロールに再度追加すると、うまく機能します。更新された「表示」が地図上に表示されます。ただし、ミリ秒単位で表示が消えてちらつきのように戻ってくるため、どのユーザーもプロセスを見ることができます。

このユーザーコントロールを削除して再度追加することなく更新するにはどうすればよいですか?何らかの方法で更新する方法はありますか?

4

1 に答える 1

2

ちらつきを抑えるために、ちらつきを生成する操作の前に親コントロールのペイントを一時停止し、後で再開するようにウィンドウに指示することで、チートを行うことができます。このSOの質問をチェックしてください。

私はカスタムコントロールでそれを頻繁に行い、それはうまく機能します。Controlクラスの拡張メソッドとして、最初の回答から「SuspendDrawing」および「ResumeDrawing」静的メソッドを追加することもできます。

于 2013-01-03T13:29:35.187 に答える