none
MDI環境での子フォームのちらつき RRS feed

  • 質問

  • VB2005でMDIフォームを使用していますが
    画面遷移時にカクカクとちらつきが発生しております。
    MDIを使用されている方でちらつきをなくすよい方法などはありますでしょうか?

    調査を進めますと、現画面(Form1とします)から次画面(Form2とします)をShowするタイミングで
    Form1の最大化が解除されておりました。
    (Debug.PrintでWindowsState=0になっていました)

    そのため、Form1が一瞬上にあがって閉じるような動作となり
    ちらつきが発生しておりました。

    対策としてSendMessageで描写を抑制したり
    DubbleBufferd、SetStyleプロパティを使用しても改善されませんでした。
    また、Form1のCloseのタイミングやForm1のShowするタイミングを
    逆にしたり、SendToBack、TopMostプロパティを使用して
    Form2を先に裏で表示しておいて表示しきったら
    Form1を閉じるなど試みましたが、結果ダメでした。

    ご教授のほどよろしくお願いします。

    <環境>
     OS:WindowsXP
     CPU:PenM1.5
     MEM:752Mb
     言語:VB2005Pro+SP1

    2008年3月15日 5:05