Difference between creating a System.Windows.Forms.Timer with or without a container?

Viewed 125

I have a form that uses a few timers. I noticed that the forms designer passes in a container:

_someTimer = new System.Windows.Forms.Timer(components);

When I've created timers without using Designer, I used the default constructor:

_otherTimer = new System.Windows.Forms.Timer();

I've never noticed any difference. Can anyone explain what difference it makes when a container is passed in upon construction?

1 Answers

It disposes with the container according to MSDN

Remarks

The Timer constructor enables you to associate a Timer with any Container object. By associating the Timer like this, you hand over control of the lifetime of the Timer to the Container. This can be useful if you use a number of components in your application and want to dispose of all of them simultaneously. For example, if you associate a ToolTip, an ImageList, and a Timer with a Container, calling Dispose on the Container will force disposal of all of these components as well.

This instance will exist until its container releases it to garbage collection.

Related