我的一个窗口上panel的结构是form1
 |
 |--panel1(align:= alclient)
      |
      |--LeftPanel(alient:= alleft)
      |
      |--RightPanel(align:= alclient)在RightPanel中又有:subpanel1和subpanel2, subpanel1.alient:= alleft,subpanel2.alient:= alclient.我在FormResize时间中写下如下代码:
  LeftPanel.width:= panel1.width div 2;
  subpanel1.width:= RightPanel.width div 2;问题时当我调整窗口大小时,界面闪烁得厉害,但最后几个panel的大小都是想要的。如何才能避免闪烁呢?

解决方案 »

  1.   

    这样试试
    Panel1.DisableAlign;
    LeftPanel.width:= panel1.width div 2; 
    subpanel1.width:= RightPanel.width div 2; 
    Panel1.EnableAlign;
      

  2.   


    DisableAlign;
    LeftPanel.width:= panel1.width div 2; 
    subpanel1.width:= RightPanel.width div 2; 
    EnableAlign;
      

  3.   

    加上application.ProcessMessages;
      

  4.   

     
     我都试过了,不管用的。 特别是当用鼠标连续拖动窗口右下角时,几个panel晃动得厉害。 如果自己亲自试一下就知道我说的闪烁问题的。
      

  5.   

    Panel1.DoubleBuffered := true;