Handling Timer Events - and Creating an Alarm Clock in VB.net
By: Steven Holzner
To get an idea how timers work, I'll create an example alarm clock, called Timers. Here, the user can click the "Start clock" button to start the clock, which is displayed in a label control. (I've set the font of the label at design time to use a large font face). The clock's display is updated once a second in the timer in this example, Timer1. I've set the timer's Interval property to 1000 milliseconds, or one second, which means its Tick event occurs every second. I update the label's text like this in the Tick event handler: Label1.Text = TimeOfDay (the TimeOfDay property returns a DateTime object with the current time).
The user also can enter a time for the alarm to go off in three text boxes (using 24-hour format; for example 13:00:00 for 1:00:00 P.M.), and click the "Alarm on" radio button to "arm" the alarm clock. When the current time equals or exceeds the alarm time, the clock will beep once a second until the user clicks the "Alarm off" radio button. (These two radio buttons, "Alarm on" and "Alarm off", actually set the state of an internal Boolean variable, blnAlarm, which is True when the alarm is armed and False otherwise.)
Here's the whole code. Note that I'm using three handy properties here-TimeOfDay, which returns a DateTime object holding the current time of day; Today, which returns a DateTime object holding today's date; and Now, which returns a DateTime object that holds both today's time and date:
Public Class Form1
Inherits System.Windows.Forms.Form
'Windows Form Designer generated code
Dim blnAlarm As Boolean = False
Private Sub Timer1_Tick(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Timer1.Tick
Label1.Text = TimeOfDay
If TextBox1.Text <> "" And TextBox2.Text <> "" And _
TextBox3.Text <> "" Then
Dim AlarmTime = New DateTime(Today.Year, Today.Month, _
Today.Day, CInt(TextBox1.Text), CInt(TextBox2.Text), _
CInt(TextBox3.Text))
If Now > AlarmTime And blnAlarm Then
Beep()
End If
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Timer1.Enabled = True
End Sub
Private Sub RadioButton1_CheckedChanged(ByVal sender As _
System.Object, ByVal e As System.EventArgs) _
Handles RadioButton1.CheckedChanged
If RadioButton1.Checked Then
blnAlarm = True
End If
End Sub
Private Sub RadioButton2_CheckedChanged(ByVal sender As _
System.Object, ByVal e As System.EventArgs) _
Handles RadioButton2.CheckedChanged
If RadioButton1.Checked Then
blnAlarm = False
End If
End Sub
End Class
Archived Comments
1. JasonNix
View Tutorial By: JasonNix at 2017-04-13 04:52:36
2. Complete source code to make an alarm clock in vb.net is available at:
http://bitsbyta.blogsp
View Tutorial By: Saad Bin Saulat at 2011-02-10 11:20:44
3. Complete source code to make an alarm clock in vb.net is available at:
http://bitsbyta.blogsp
View Tutorial By: Saad Bin Saulat at 2011-02-10 11:20:34
4. I have to ask; Where do we put the text boxes?
View Tutorial By: Jeremy at 2010-10-07 14:37:07
5. @Askia-Just change RadioButton1 to RadioButton2 in last 5th line.
View Tutorial By: Nelson at 2010-03-06 23:12:36
6. how do one off the alarm after it has triggered the beep. which code will control that?
View Tutorial By: Asika at 2009-10-01 07:28:50
Comment on this tutorial
- Data Science
- Android
- AJAX
- ASP.net
- C
- C++
- C#
- Cocoa
- Cloud Computing
- HTML5
- Java
- Javascript
- JSF
- JSP
- J2ME
- Java Beans
- EJB
- JDBC
- Linux
- Mac OS X
- iPhone
- MySQL
- Office 365
- Perl
- PHP
- Python
- Ruby
- VB.net
- Hibernate
- Struts
- SAP
- Trends
- Tech Reviews
- WebServices
- XML
- Certification
- Interview
categories
Related Tutorials
Using Resume Next and Resume Line in VB.net
Using On Error GoTo 0 in VB.net
Getting an Exception's Number and Description in VB.net
Raising an Exception Intentionally in VB.net
Exception Filtering in the Catch Block in VB.net
Using Multiple Catch Statements in VB.net
Throwing an Exception in VB.net
Throwing a Custom Exception in VB.net
Changes in Controls from VB6 to VB.net
Unstructured Exception Handling in VB.net