Renoir,
Refreshing all is due to performance as you said. You might simply add ActivePage_Assign method to pageframe and it does refreshing :
*pgf.ActivePage_Assign
lparameters vNewValue
this.ActivePage = vNewValue
this.Pages(vNewValue).Refresh
Cetin