ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Spin button timing (https://www.excelbanter.com/excel-programming/381017-spin-button-timing.html)

Dave Unger

Spin button timing
 
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


Phillip[_5_]

Spin button timing
 
Dave Unger wrote:
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


Dave Unger

Spin button timing
 
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

Phillip wrote:
Dave Unger wrote:
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




All times are GMT +1. The time now is 09:19 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com