PageControl Изменение проблемы, когда вкладка скрыта: предложения? - PullRequest
0 голосов
/ 20 марта 2012

У меня есть PageControl с семью таблицами вкладок, и все вкладки скрыты, и я меняю страницы, используя pcMain.ActivePage: = tsAuto (tsMarine и т. Д.). Это работает, но события Change и Changing не запускаются.

Я попробовал следующее, но это работает только когда вкладки видны.http://delphi.about.com/od/adptips2005/a/bltip0205_5.htm

Я также написал процедуру, используя pcMain.SelectNextPage (True), увеличивающий и уменьшающий счетчик и SelectNextPage, но он также работает, только когда вкладки видны.

У любого есть предложение, какобойти эту проблему?Мне нужно использовать AllowChange события Changing, чтобы не покинуть страницу, если база данных находится в состоянии редактирования.

1 Ответ

0 голосов
/ 21 марта 2012

Код от About.com должен работать нормально.Он явно вызывает CanChange и Change, которые в свою очередь вызывают обработчики событий, если они назначены.Они не проверяют, видна ли запрошенная вкладка.

Кроме того, SelectNextPage также должно работать.Вы просто должны убедиться, что передали False для второго параметра, чтобы он игнорировал видимость вкладки.(Если вы не укажете значение для второго параметра, значением по умолчанию будет True.)

Если ни один из методов не работает, вам нужно копать глубже, потому что проблема в другом месте.

Еще одна вещь, которую вы можете попробовать, это просто не назначать новую активную страницу, если есть ожидающие изменения в базе данных.В конце концов, вы решаете перейти на следующую страницу.Если вы заранее знаете, что это не должно произойти, не пытайтесь сделать это в первую очередь.

...