I think it's a good general rule; there may be situations where you don't want to do it. For me, I like to encapsulate enabled/disabled states for objects within the object itself based on the environment. This is generally done in the Refresh event or called from the Refresh event. If the object never Refreshes, then it's state will be wrong and stay wrong unless you put a This.Refresh() in each Page's Activate event and that can be suboptimal and you have to remember to do it each time you modify a Pageframe.
>>This code ensures that all Pages are refreshed whenever the Form is refreshed. Not the code that disallows a refresh of the ActivePage: This would be redundant as the ActivePage is refreshed.
>
>Hi John,
>
>Despite it may be useful in some cases, wouldn't it be a little overkill :) for just getting some of those pageX.controlX.PropertyX.value? We can easily refresh only the desired control before getting its value...
>
>Nick
------------------------------------------------
John Koziol, ex-MVP, ex-MS, ex-FoxTeam. Just call me "X"
"When the going gets weird, the weird turn pro" - Hunter Thompson (Gonzo) RIP 2/19/05