Spin button timing

  • Thread starter Thread starter Dave Unger
  • Start date Start date
D

Dave Unger

Hello,

My problem is illustrated here with a form that contains a textbox and
a spin button. The spin button updates the variable Mnth, sub
FormRefresh updates the form with new values, and returns the focus to
the text box.. However, focus isn't always returned to the text box,
in fact it flip-flops between staying on the spin button and and
returning to the text box.. If I insert a breakpoint or a message box
anywhere in the loop, it works the way I expect it too, so I suspect
this is a timing issue. However, inserting Waits or other delay
tactics doesn't seem to fix it. Appreciate any suggestions, thanks.
Regards,

DaveU

Private Sub spnDate_Change()
Mnth = spnDate.Value
Call FormRefresh
End Sub

Sub FormRefresh()
'
' code here that updates myForm according to Mnth value
'
myForm.txtEntry.SetFocus

End Sub
 
Dave said:
Hello,

My problem is illustrated here with a form that contains a textbox and
a spin button. The spin button updates the variable Mnth, sub
FormRefresh updates the form with new values, and returns the focus to
the text box.. However, focus isn't always returned to the text box,
in fact it flip-flops between staying on the spin button and and
returning to the text box.. If I insert a breakpoint or a message box
anywhere in the loop, it works the way I expect it too, so I suspect
this is a timing issue. However, inserting Waits or other delay
tactics doesn't seem to fix it. Appreciate any suggestions, thanks.
Regards,

DaveU

Private Sub spnDate_Change()
Mnth = spnDate.Value
Call FormRefresh
End Sub

Sub FormRefresh()
'
' code here that updates myForm according to Mnth value
'
myForm.txtEntry.SetFocus

End Sub



Try this it works for me. Phillip London UK

Private Sub Spndate_Change()
FormRefresh
Me.Spndate.SetFocus
Me.txtentry.SetFocus
End Sub
 
Hi Phillip ,

Thanks for taking the time to look at this - your solution works
perfectly, but I have to admit I don't understand why. The
Me.Spndate.SetFocus almost seems redundant, surely it already has the
focus by virtue of the fact that it was clicked by the mouse. And
Me.txtentry.SetFocus is pretty much what I was doing later on in a
subsequent routine. And yet your code works and mine doesn't - I'm
obviously missing something here. I'd be interested to hear any
explanation you have on this. Thanks for now,

regards,

DaveU
 
Back
Top