Delphi 如何使选项卡不可见,但不显示选中该选项卡时将显示的工作表?-德尔福火猴
我希望能够从tabB上的按钮打开tabA。但我不希望用户能够打开tabA,除了使用该按钮。但是,如果将Delphi 如何使选项卡不可见,但不显示选中该选项卡时将显示的工作表?-德尔福火猴,delphi,firemonkey,Delphi,Firemonkey,我希望能够从tabB上的按钮打开tabA。但我不希望用户能够打开tabA,除了使用该按钮。但是,如果将TabA.Visible:=False设置为不可见,则会将选项卡和选项卡页设置为不可见。这有什么办法吗 我的想法是,当我需要显示tabA时,用一个空白的白色图像覆盖tabB,当我需要显示tabB时,只需隐藏所有tabA控件。这是解决这个问题的最好办法吗 我希望能够从tabB上的按钮打开tabA。但我不希望用户能够打开tabA,除了使用该按钮。但是,如果设置TabA.Visible:=False,
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,谢谢你的提醒。是的,我现在明白我是如何误解你的问题了。我猜你根本不想有任何标签,回答正确。