Have you been able to get the timer working? I apologize for overlooking the possibility that you were probably trying to learn about handlers, more so than getting the timer to work. As fate would have it, I have had to work with timers and handlers in the past week. So, I took another look at the original code posted. I made three changes and was able to get the program to work: 1) Modify nextvalue() private void nextValue() { int i = listBox1.SelectedIndex + 1; if ( i == listBox1.Items.Count ) i = 0; listBox1.SetSelected( i, true ); } 2) Add a call to InitializeTimer() in the form constructor: This is a public method, so another program could have been calling it. But since I cannot tell, I added a call in the form constructor: // TODO: Add any constructor code after InitializeComponent call InitializeTimer(); 3) Modify the handler definition and code: The definition of the handler is still in InitializeTimer(). I was only able to find a handler for "Tick", not "Elapsed". this.timerClock.Tick += new EventHandler(timerClock_Tick); The neat thing about adding the handler is that Visual Studio will do most of the work for you. After typing "+=" you will be prompted to "Press TAB to insert" the remaining of the command. You will immediately be prompted a second time to "Press TAB to generate handler". After generating the handler, add the call to nextvalue() within that event handler. private void timerClock_Tick(object sender, EventArgs e) { nextValue(); } Hope this helps!