PageControl隐藏标签时更改问题:建议?

时间:2012-03-20 19:05:43

标签: delphi delphi-5

我有一个包含七个TabSheets的PageControl,所有Tab都被隐藏,我使用pcMain.ActivePage更改页面:= tsAuto(tsMarine等)它可以工作,但更改和更改事件不会被触发。

我尝试了以下操作,但只有在标签可见时才有效。 http://delphi.about.com/od/adptips2005/a/bltip0205_5.htm

我还使用pcMain.SelectNextPage(True)编写了一个程序,递增和递减计数器和SelectNextPage,但它也仅在Tabs可见时才有效。

任何人都有建议如何解决这个问题?我需要使用Changing-Event的AllowChange来防止在数据库处于编辑状态时离开页面。

1 个答案:

答案 0 :(得分:0)

来自About.com的代码应该可以正常工作。它明确地调用CanChangeChange,后者又调用事件处理程序(如果有的话)。他们不会检查所请求的标签是否可见。

此外,SelectNextPage也应该有用。您只需确保为第二个参数传递False,以告知它忽略制表符可见性。 (如果没有为第二个参数指定值,则默认值为True。)

如果两种技术都不起作用,那么你需要深入挖掘,因为问题出在其他地方。

您可以尝试的另一件事是,如果存在待处理的数据库更改,则不会分配新的活动页面。毕竟,你是决定走下一页的人。如果你事先知道它不应该发生,那就不要在第一时间尝试它。