PUBLIC oform1 oform1=NEWOBJECT("form1") oform1.Show RETURN DEFINE CLASS form1 AS form Caption = "Bug when CTRL+TAB or CTRL+SHIFT+TAB" ADD OBJECT pageframe1 AS pageframe WITH ; ErasePage = .F., ; PageCount = 2, ; Top = 30, ; Left = 29, ; Page1.Caption = "input", ; Page2.Caption = "show" PROCEDURE pageframe1.Init this.Page1.AddObject('text1','myText') WITH this.Page1.text1 .Move(30,20) .ControlSource = "M.vStoreInput" .Visible = .T. ENDWITH this.Page2.AddObject('text2','TextBox') WITH this.Page2.text2 .Move(40,30) .ControlSource = "M.vStoreInput" .Visible = .T. ENDWITH ENDPROC PROCEDURE pageframe1.Page1.DblClick this.Parent.ActivePage = 2 ENDPROC PROCEDURE pageframe1.Page2.Activate this.text2.Refresh ENDPROC PROCEDURE Load PUBLIC vStoreInpuT vStoreInput = 'XY' && init with a invalid value ENDPROC PROCEDURE UnLoad RELEASE vStoreInput ENDPROC ENDDEFINE DEFINE CLASS myText AS TextBox PROCEDURE Valid IF thisform.ReleaseType>0 && FOR REMOVE YOUR STRESS RETURN ENDIF WAIT WINDOW "Validation" NOWAIT TIMEOUT 5 RETURN LIKE('@*',m.vStoreInpuT) && a validation rule ENDPROC PROCEDURE DblClick this.Parent.Parent.ActivePage = 2 && <== this do the same violation ENDPROC ENDDEFINEworkArounds: