我加了一个PageControl1的控件建立了3个TabSheet1,TabSheet2,TabSheet3,现在我用3个按钮a,b,c来控制哪个显示,哪个隐藏掉
比如我点击按钮a,则TabSheet1显示,其他两个不显示。
当我点击b,则TabSheet2显示,其他两个不显示。
点击c,效果是一样的
这样的效果因该怎么做到

解决方案 »

  1.   

    直接设置TabSheet1的VISUALBLE属性不可以吗?
      

  2.   

    先把所有的Sheet的TabVisible设为False;
    点按钮时,设Sheet.Visible:=true;即可
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Tabsheet1.TabVisible := True;
      Tabsheet2.TabVisible := False;
      Tabsheet3.TabVisible := False;
    end;2,3同上.
      

  4.   

    呵呵,老大我知道是这么写,问题是如果Tabsheet1这个多了,每个按钮的点击事件里都要写很多吗,我的意思是怎么建立一个函数循环来做这个事情
      

  5.   

    设置几个按钮的tag,比如从1到3共用事件
    procedure TForm1.Button1Click(Sender: TObject);
    var
      tmpTag:integer;
      idx:inetger;
      tmpTS:TTabsheet;
    begin
      tmpTag:=TButton(Sender).tag;
      for idx:=1 to 3 do
      begin
        tmpTS:=TTabsheet(FindComponent('Tabsheet'+IntToStr(idx)));
        tmpTS.Visible:=(tmpTS.tag=tmpTag);
      end; 
    end;
      

  6.   

    TPageControl是否有个PageIndex 属性吧。是否可以这样?
    (改写以上)
    设置几个按钮的tag,比如从1到3
    如果每个TabSheet的tab都不可见,但Page是可见的。共用事件
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      PageControl1.PageIndex:=TButton(Sender).tag-1;
    end;
      

  7.   

    leeky(雅痞·千年虫) 
    方法非常好
    你试过吗
    我试了,不错,你也试试
      

  8.   

    设置几个按钮的tag,比如从1到3
    设置button2,button3,的onclick事件为button1.onclick
    button1的onclick如leeky(雅痞·千年虫) 所写