- - PR -
描画処理について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-08-10 21:59
いつもお世話になります。
VisualBasic2005のことでお聞きしたいことがあるのですが、 今、開発中のプログラムで、ある一定周期(3秒〜7秒程度を想定)ごとに データベースの情報をみてボタンやラベルの状態を変化させるプログラム を製造しようとしています。(ボタンのキャプションを変えたり、グレー アウトさせたりします。) この際、ちらつきを少なくしたいとおもうのですが、何かいい方法がない でしょうか。 例えば、一定周期の先頭でフォーム上の描画処理をとめて、処理を終了 する際に、描画処理をするようなことができればちらつきをなくすことが できるような気がするのですが。 どなたかご存知の方がいましたらよろしくおねがいします。 | ||||
|
投稿日時: 2006-08-11 09:18
いいえ、単純にこれだけでは、結局チラつくと思います。 描画しなければいけないタイミングが、後ろにずれ込んでいるだけですから。 (どのみち、3 秒 ~ に 1 回しか再描画しないのですよね?) ところで、チラつくのは Form 全体でしょうか? 再描画しなくてはいけない領域だけを描画していれば、さほど気にならないかと思いますが... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-08-11 11:10
さっそくのお返事ありがとうございます。
チラつくのはForm全体ではありません。 まず、周期の先頭でForm上のコントロール(20個程度) の初期化(.Enable=False,.Text="")をし、 データベースの状態を見て、設定しています。 この初期化が原因であるようです。 じゃんぬねっと様の言われるように再描画しなくてはいけない 領域だけを描画してみようと思います。 | ||||
|
投稿日時: 2006-08-11 14:09
こんにちは。
タイマイベントでコントロールの初期化せずに、 データベースの状態からコントロールの設定を行うだけでは駄目なのでしょうか? 初期化→状態確認→設定 とすると状態確認を行っている間(.Enable=False,.Text="") となっているわけですよね。 (また、状態取得にかかる時間によって変化する) この初期化処理によってチラツキが発生している気がします。 (まぁ、これだけではなく、実際の描画処理も影響しているでしょうが、) タイマイベント発生時にコントロールを触って欲しくない?のですか。 |
1