使用或不使用容器创建 System.Windows.Forms.Timer 之间的区别?

Sco*_*ith 2 c# winforms

我有一个使用几个计时器的表单。我注意到表单设计器传入了一个容器:

_someTimer = new System.Windows.Forms.Timer(components);
Run Code Online (Sandbox Code Playgroud)

当我在不使用 Designer 的情况下创建计时器时,我使用了默认构造函数:

_otherTimer = new System.Windows.Forms.Timer();
Run Code Online (Sandbox Code Playgroud)

我从来没有注意到有什么不同。任何人都可以解释在构建时传递容器时有什么不同吗?

Biz*_*han 5

它根据MSDN与容器一起处理

评论

Timer 构造函数使您能够将 Timer 与任何 Container 对象相关联。通过像这样关联 Timer,您可以将 Timer 的生命周期控制权交给 Container。如果您在应用程序中使用多个组件并希望同时处理所有组件,这将非常有用。例如,如果将 ToolTip、ImageList 和 Timer 与 Container 相关联,则在 Container 上调用 Dispose 也将强制处置所有这些组件。

这个实例将一直存在,直到它的容器将它释放到垃圾收集器。