Delphi 如何使选项卡不可见,但不显示选中该选项卡时将显示的工作表?-德尔福火猴

Delphi 如何使选项卡不可见,但不显示选中该选项卡时将显示的工作表?-德尔福火猴,delphi,firemonkey,Delphi,Firemonkey,我希望能够从tabB上的按钮打开tabA。但我不希望用户能够打开tabA,除了使用该按钮。但是,如果将TabA.Visible:=False设置为不可见,则会将选项卡和选项卡页设置为不可见。这有什么办法吗 我的想法是,当我需要显示tabA时,用一个空白的白色图像覆盖tabB,当我需要显示tabB时,只需隐藏所有tabA控件。这是解决这个问题的最好办法吗 我希望能够从tabB上的按钮打开tabA。但我不希望用户能够打开tabA,除了使用该按钮。但是,如果设置TabA.Visible:=False,

我希望能够从tabB上的按钮打开tabA。但我不希望用户能够打开tabA,除了使用该按钮。但是,如果将
TabA.Visible:=False设置为不可见,则会将选项卡和选项卡页设置为不可见。这有什么办法吗

我的想法是,当我需要显示tabA时,用一个空白的白色图像覆盖tabB,当我需要显示tabB时,只需隐藏所有tabA控件。这是解决这个问题的最好办法吗

我希望能够从tabB上的按钮打开tabA。但我不希望用户能够打开tabA,除了使用该按钮。但是,如果设置TabA.Visible:=False,则会将选项卡和选项卡工作表设置为不可见。这有什么办法吗

通过设置属性
TabControl1.TabPosition=None
,可以隐藏选项卡(同时保持图纸可见)。注意!此设置使所有选项卡都不可见

所以不,你不需要任何图像或其他任何东西来覆盖这两张纸

然后,可以通过以下三种方式之一的代码在选项卡页之间移动:

  • 将TabControl1.ActiveTab设置为TTabItem
  • 将TabControl1.TabIndex设置为选项卡工作表的索引(索引从零开始)
  • 调用TabControl1.Next/Previous移动到下一页/上一页选项卡
示例代码

// Button on first tabsheet
procedure TForm5.Button1Click(Sender: TObject);
begin
//  TabControl1.ActiveTab := TabItem2; // Immediate transition
//  TabControl1.TabIndex := 1;  // Immediate transition
  TabControl1.Next;  // Animated transition
end;

// Button on second tabsheet
procedure TForm5.Button2Click(Sender: TObject);
begin
//  TabControl1.ActiveTab := TabItem1; // Immediate transition
//  TabControl1.TabIndex := 0;  // Immediate transition
  TabControl1.Previous;  // Animated transition
end;

与VCL中的
TPageControl
不同,FMX中的
TTabControl
不允许您(我可以看到)在仍查看各个选项卡的页面时将其设置为不可见。但是,您可以通过
TTabControl.TabPosition
隐藏所有选项卡,并且仍然可以通过code()在页面之间切换。或者,只需将您的按钮设置为
TabA.Visible=True
TTabControl.ActiveTab=TabA
,然后在使用完itI后再次设置
TabA.Visible=False
,我不知道将TabA改为面板是否更好。单击按钮时,隐藏页面控件并显示面板。或者,如果要将其保留在该选项卡中,请将TabB的控件放在面板中,将TabA的控件放在TabB的另一个面板中。当你点击按钮时,隐藏panel1,显示panel2,而你一直停留在你的唯一选项卡中。@GolezTrol实际上,FMX鼓励以这种方式使用选项卡。切换选项卡时甚至会有滑动转换。我认为更好的方法是在选项卡中放置另一个两页选项卡控件,隐藏选项卡并用按钮切换页面。嗨,汤姆,对不起,我说的是什么意思“但是,如果设置TabA.Visible:=False,则会将选项卡和选项卡工作表设置为不可见。这有什么办法吗?“,实际上我想让TabA工作表的工作表可见,但不想让TabA控件中的实际选项卡可见,因为我不想让TabA选项卡显示,我只想为TabA显示工作表。好的@Wiliam,谢谢你的提醒。是的,我现在明白我是如何误解你的问题了。我猜你根本不想有任何标签,回答正确。