如何使选项卡不可见,而不是在选择选项卡时显示的 sheet? - Delphi FireMonkey

How to make a tab invisible, but not the sheet that would show when the tab is selected? - Delphi FireMonkey

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

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

I want to be able to open tabA from a button on tabB. But I don't want the user to be able to open tabA, apart from using that button. However if you set the TabA.Visible := False it sets the tab and the tab sheet as not visible. Is there any way around this?

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

所以不,您不需要任何图像或任何其他内容来覆盖 sheet。

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

  • 将 TabControl1.ActiveTab 设置为 TTabItem
  • 将TabControl1.TabIndex设置为选项卡的索引sheet(索引为zero-based)
  • 正在调用 TabControl1。Next/Previous 移动到 following/previous 选项卡 sheet

示例代码

// 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;