Constantly Changing Label Captions

I have a lable that will tell the current time ("The current time is: 12:00:54 PM"), but it needs to change every second. Right now I am defining the caption at Form_Load, but I don't know where to define the caption so that the form automatically re-captions the label every second. Help?
RunBorisAsked:
Who is Participating?
 
ZylochConnect With a Mentor Commented:
Hi RunBoris,

Make a timer and put it on your form, and set its name. Then, inside the timer script, add this:

Private Sub YourTimerName_Timer()
   yourLabelName.Caption = "The current time is: " & Time
End Sub

Regards,
Zyloch
0
 
Mike TomlinsonConnect With a Mentor Middle School Assistant TeacherCommented:
In addition to Zyloch's instructions, you need to set an interval for your timer or it won't fire  (the default is 0 which disables the timer).  The interval property is measured in milliseconds so if you set it to 1000, the timer will fire once a second.  You may want to use a smaller interval however, because the timer event may not fire at exactly one second if the system is busy.  This can make the clock appear to hang slightly before it updates, giving the impression that your application is slow and dosen't peform well.  With that in mind, I recommend using 333 milliseconds.  That interval is still slow enough where you won't see any impact on your programs (or any other programs) performance or CPU usage.

~IM
0
 
ZylochCommented:
Ah, oops, forgot about that. Sorry!
0
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
Mike TomlinsonMiddle School Assistant TeacherCommented:
Just in case you are not sure how to "Make a timer and put it on your form", the Timer control is in the Toolbox along with other standard controls such as the Label, TextBox and CommandButton.  It looks like a classic analog stopwatch and if you hover your mouse over it, a tooltip that says "Timer" will appear.  Just drag one onto your form (the size doesn't matter) and then double click on it.  This will produce the default Timer event that is executed every XXX milliseconds when the Enabled property of your timer control is set to True:

    Private Sub Timer1_Timer()
       
    End Sub

~IM
0
 
EDDYKTCommented:
>>if you set it to 1000


set to 500 instead of 1000
0
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
Hi EDDYKT,

You didn't read my comments very carefully.  =)

I actually recommended using 333.    The "if you set it to 1000" you quoted, was just an example I used to explain how the interval property works.

~IM
0
 
RunBorisAuthor Commented:
That did work, but I have a nit-picky question. Points will still be awarded based on the previous responses (Most Zyloch, partially Idle_Mind for the interval intervention).

Is there any other way of doing this? I ask because if the program isn't started exactly on a second, you can see a noticable difference in the system time, and my program's time. Obviously it's only off by a few milliseconds, but those sort of thing get to me in a weird OCD way. (OCD, obsessive compulsive disorder.... I'm a perfectionist... Sorry...)
0
 
RunBorisAuthor Commented:
Hmmm.... I just did some experimenting with the timer intervals. I set it all the way down to 1, and the system clock was still not in sync with my program. So, I think any other means of updating my silly label would be in vain. Points are now awarded!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.