• 締切済み

画面がチラつく

お世話になってます。 VB.NET2005です。 画像をBACKGROUNDにしたフォーム上の同じ位置にいくつものパネルを置き、VisibleのON/OFFで表示/非表示させています。 この際にパネル上にあるコントロールやパネルが表示の切り替え時にチラついてとても気になります。 チラつかないようにしたいのですが、何かよい方法はありませんでしょうか。 *タブコントロールは背景との兼ね合いで使用していません。 ちなみにこれはC#でも同じなのでしょうか。 動作が軽快でチラつかないならC#に乗り換えようかなと思っていますが、そんな事はありませんでしょうか?

みんなの回答

回答No.1

あくまで可能性の話ですが、 チラつきは、コンテナ等のVisibleを一時的にFalseにすることで 解決する場合があります。 (Grid系でセルを あちこち動くような処理の場合、Gridを一時的に  不可視にすることでチラつかなくなるし速くなったりする) 今回の場合、FormのVisibleを一時的にFalseにすれば、チラつきは なくなるかもしれません。 ちなみに、処理の間にDoEventsが入っていたり しなければ、 Visible = Falseにしても、実際にはFormが消えたりは しないと思います。たぶん。 (DoEventsを挟む必要がある場合は、その一瞬だけ可視にすればいいです)

utugi_taro
質問者

お礼

貴重な情報ありがとうございます。 そのような手法は初耳でした。 しかし親コンテナをVisible=FalseにしたところDoEventsを挟まなくても親ごと連動してよけいチラついてしまいました。 環境の違いかもしれません。 ちなみにXP+Framework2.0+VB.NET2005です。 教えて頂いた情報は他で何かに使うかもしれません。 ありがとうございました。

関連するQ&A