【发布时间】:2012-04-02 03:33:37
【问题描述】:
我有一个简单的表单,上面有一个 splitviewcontainer,左侧是菜单,右侧包含一个或多个控件。
可以在 RHS 上加载的控件之一包含一个计时器,用于每隔几秒刷新一次数据。
如果我在右侧使用 Controls.Clear(),控件将不再显示,但我认为它没有被释放,因为计时器仍在触发(我可以看到在日志中进行的数据库调用)。
因此,我的问题是,当控件从显示中删除时,我应该如何清理它?清除控件时调用哪个事件/方法?
【问题讨论】:
-
你能覆盖可见属性并在其上启动和停止计时器吗?
-
或监听父级变化?
-
您是在问如何停止计时器以触发 elasped/tick 事件,或者如何处理面板中的控件?
-
史蒂夫,定时器在我面板中的一个控件内,我希望当控件不再在面板中时定时器停止触发,因为 Panel.Controls.Clear();我的假设是 Clear 会自动处理内部的控件,但事实并非如此。
-
您使用的是 WPF 还是 Windows 窗体?