The Timer.Enabled actually destroys the timer internally anyway. The extra
timer event's you're seeing are probably due to messages that are in the
queue. This can happen if you do a lot of processing in the timer tick
handler such as drawing on screen or disc access.
A more accurate and reliable timer can be found in System.Threading. The
dlegate for this timer is called directly and there are never any messages
hanging around in the queue.
--
Bob Powell [MVP]
Visual C#, System.Drawing
The Image Transition Library wraps up and LED style instrumentation is
available in the June of Well Formed for C# or VB programmers
http://www.bobpowell.net/currentissue.htm
Answer those GDI+ questions with the GDI+ FAQ
http://www.bobpowell.net/gdiplus_faq.htm
The GDI+ FAQ RSS feed:
http://www.bobpowell.net/faqfeed.xml
Windows Forms Tips and Tricks RSS:
http://www.bobpowell.net/tipstricks.xml
Bob's Blog:
http://bobpowelldotnet.blogspot.com/atom.xml
"User" <(E-Mail Removed)> wrote in message
news:x3dHc.9484$Rf.5781@edtnps84...
> Hi,
>
> What is the best way to release all resources holded by the Timer
> (myTimer from class System.Timers.Timer)?
>
> Is it:
> 1- myTimer.dispose
> 2- myTimer.enabled = false
> 3- myTimer.close
>
> I want to have the timer set to nothing so I can recreate a new one, I
> want to do this in a second step:
>
> myTimer = New System.Timers.Timer
> AddHandler myTimer.Elapsed, AddressOf ListenToRequest
> myTimer.Interval = 100
> myTimer.Enabled = True
>
> I am asking this because it seem that the timer loop a couple of time
> before being stopped, and raising errors by the way.
> This is my original code:
> myTimer.Dispose()
> myTimer = New System.Timers.Timer
> AddHandler tmrClientQwery.Elapsed, AddressOf ListenToRequest
> myTimer.Interval = 100
> myTimer.Enabled = True
>
> Thank you very much
>