【发布时间】:2015-07-20 12:16:45
【问题描述】:
我被 TPageControl 卡住了,它表现出一些奇怪的行为..
控件有 3 页,但是当我这样做时
for I:=0 to PageControl.PageCount-1 do begin
PageControl.Pages[I].TabVisible := False;
PageControl.Pages[I].Visible := Ord(iColorScale.GenerationMode) = I;
end;
在执行相当于
的循环的第一次迭代的第一行时,出现“列表索引超出范围 (3)”错误PageControl.Pages[0].TabVisible := False;
现在,当我在调试器中查看 PageControl 属性时,一切似乎都井井有条。 PageCount 预计为 3,我可以在评估器中看到所有页面及其属性,包括第 0 页的 TabVisible
我在 Windows 7 机器上使用 Delphi XE。有人知道发生了什么吗?我很茫然。
【问题讨论】:
-
如果您尝试在循环外运行
PageControl.Pages[0].TabVisible := False;会发生什么? -
在将
TabVisible设置为 false 之前尝试设置PageControl.HandleNeeded。 (delphigroups.info/2/d7/305018.html) -
@Fenistil 运行 PageControl.Pages[0].TabVisible 时出现相同的列表索引越界错误:= False;循环外
-
@kobik PageControl.HandleNeeded 解决了这个问题,非常感谢!
-
@kobik,您可以将该评论扩展为答案吗?
标签: delphi delphi-xe tpagecontrol