TabSheet可见的奇怪问题

塞巴斯蒂安·普罗斯克(Sebastian Proske)

在PageControl上使用TabSheets并控制其可见性时,我已经克服了一些奇怪的行为。对于一个简单的示例,在窗体上添加一个PageControl,向该PageControl添加两个TabSheets,向每个TabSheet添加一个Label,然后分配Forms OnCreate事件。

OnCreate的代码如下:

procedure TForm1.FormCreate(Sender: TObject);

  function Cond1: Boolean;
  begin
    result := 1=1;
  end;

  function Cond2: Boolean;
  begin
    result := 2=2;
  end;

begin
  TabSheet1.Visible := Cond1;
  TabSheet1.TabVisible := Cond1;
  if not (Cond1) then
    if PageControl1.ActivePage = TabSheet1 then
      PageControl1.ActivePage := TabSheet2;
  TabSheet2.Visible := Cond2;
  TabSheet2.TabVisible := Cond2;
  if not(Cond2) then
    if PageControl1.ActivePage = TabSheet2 then
      PageControl1.ActivePage := nil;
  ShowMessage(IntToStr(PageControl1.ActivePageIndex));
  //PageControl1.ActivePage.BringToFront;    //uncomment to work properly
end;

如您所见,“活动”页面仍然是TabSheet1,但是显示了TabSheet2的内容。使用BringToFront,一切都可以按预期工作,但这对我来说似乎很奇怪。

是否有更好的方法来控制这些可见性,也许为此使用PageControl?

PS:我使用的是VCL,而不是Firemonkey

达莉娅·普拉斯尼卡(Dalija Prasnikar)

删除TabSheet1.VisibleTabSheet2.Visible的分配,这些分配会破坏标签的可见性。

begin
//  TabSheet1.Visible := Cond1;
  TabSheet1.TabVisible := Cond1;
  if not (Cond1) then
    if PageControl1.ActivePage = TabSheet1 then
      PageControl1.ActivePage := TabSheet2;
//  TabSheet2.Visible := Cond2;
  TabSheet2.TabVisible := Cond2;
  if not(Cond2) then
    if PageControl1.ActivePage = TabSheet2 then
      PageControl1.ActivePage := nil;
  ShowMessage(IntToStr(PageControl1.ActivePageIndex));
end;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

TabSheet可见的奇怪问题

来自分类Dev

TD可见问题

来自分类Dev

TD可见问题

来自分类Dev

设置可见性在网格中崩溃的奇怪问题(C#,XAML,UWP)

来自分类Dev

设置可见性在网格中崩溃的奇怪问题(C#,XAML,UWP)

来自分类Dev

JavaFX FXML应用程序中奇怪的可见性问题

来自分类Dev

奇怪的CSS问题,页脚部分的文本和图像不可见

来自分类Dev

问题与可见切换?

来自分类Dev

TableSorter可见行初始数量的问题

来自分类Dev

VBA仅复制可见单元的问题

来自分类Dev

背面可见性问题:隐藏;

来自分类Dev

TableSorter可见行初始数量的问题

来自分类Dev

带有按钮和可见性的奇怪行为

来自分类Dev

Swing文本字段可见性问题

来自分类Dev

静态文件的可见性问题-Django

来自分类Dev

Perlin噪音问题:结果清晰可见

来自分类Dev

ios7中的光标可见性问题

来自分类Dev

magento CE中的css可见性问题

来自分类Dev

Pandas和IPython的可变可见性问题

来自分类Dev

滚动Listview时查看可见性问题

来自分类Dev

数据库设计问题-内容可见性

来自分类Dev

私有Scala方法的可见性问题

来自分类Dev

DataTemplate中的可见性绑定问题

来自分类Dev

Nautilus(文件)路径可见性问题

来自分类Dev

SSRS 2008行可见性问题

来自分类Dev

C ++线程与可见性问题-常见的工程实践是什么?

来自分类Dev

当水不可见时,Google会在景观上绘制奇怪的多边形

来自分类Dev

使用可见度时奇怪的CSS行为:隐藏。是在规范中定义的吗?

来自分类Dev

Plotly JS - extendTraces行为会奇怪,当选项卡不可见