Updated: May 2010
Gets or sets the object used to marshal event-handler calls that are issued when an interval has elapsed.
Assembly: System (in System.dll)
'Declaration <BrowsableAttribute(False)> _ <TimersDescriptionAttribute("TimerSynchronizingObject")> _ Public Property SynchronizingObject As ISynchronizeInvoke 'Usage Dim instance As Timer Dim value As ISynchronizeInvoke value = instance.SynchronizingObject instance.SynchronizingObject = value
When the Elapsed event is handled by a visual Windows Forms component, such as a button, accessing the component through the system-thread pool might result in an exception or just might not work. Avoid this effect by setting to a Windows Forms component, which causes the method that handles the Elapsed event to be called on the same thread that the component was created on.
Even if the property is not Nothing, Elapsed events can occur after the Dispose or Stop method has been called or after the Enabled property has been set to false, because the signal to raise the Elapsed event is always queued for execution on a thread pool thread. One way to resolve this race condition is to set a flag that tells the event handler for the Elapsed event to ignore subsequent events.
If the Timer is used inside Visual Studio in a Windows Forms designer, is automatically set to the control that contains the Timer. For example, if you place a Timer on a designer for Form1 (which inherits from Form), the property of Timer is set to the instance of Form1.
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.