请问各位大虾,多个Panel空间叠加(注意是多个Panel相互叠加在其他上面!),如何通过Combobox每选一个显示一个Panel?
我用的是:
if combobox1.itemindex=0
then begin
panel1.visible:=true;
panel2.visible:=false;
panel3.visible:=false;
end;
if combobox2.itemindex=1
then begin
panel2.visible:=true;
panel1.visible:=false;
panel3.visible:=false;
end;
if combobox1.itemindex=2
then begin
panel3.visible:=true;
panel1.visible:=false;
panel2.visible:=false;
end;
以上代码不能实现,请高手执教!

解决方案 »

  1.   

    刚开始将所有PANEL的VISIBLE属性设置为FALSE,每选中一个,将相应的panel的visible属性设置为true,如下:begin
      操作1:先将所有的panel的VISIBLE属性设置为FALSE;然后  case combobox1.itemindex of  
        0:panel0.visible:=TRUE;
        1:panel1.visible:=TRUE;
        .
        .
      end;
    END;
      

  2.   

    如果不行,你要确信你选择combobox选项的序号是正确的,比如你可以这样:
    begin
      showmessage(inttostr(combobox1.itemindex));
    end;
      

  3.   

    case ComboBox1.ItemIndex of  
      0: panel1.BringToFront;
      1: panel2.BringToFront;
      2: panel3.BringToFront;
      ...  
    end;
      

  4.   

    不要用这种方法来实现!!!!我想你要实现的目的也就是象金山毒霸一样的用户界面,其实这种界面完全可以使用Delphi6的Farme来实现,如果你使用的是低版本的Delphi,也可以使用Form的Create来实现如: Form1 := TForm1.Create(Panel1);你试一下,保证比你现在这样实现方便很多!不管是设计期间还是运行期间!最主要还有一个控件的命名问题!象你这样,所有的模块都在同一个窗口里,到后期你就很难控制命名的重复问题了!