在父MFC CDialog销毁后,C#UserControl计时器继续打勾

时间:2016-09-09 18:37:49

标签: c# c++ winforms mfc clr

我有一个CDialog派生的MFC对话框,其中包含使用/ clr支持和CWinFormsControl的winforms用户控件:

CWinFormsControl<MyNamespace::MyUserControl> m_userControl;

除了一件事,一切都很好。我在控件上有一个计时器:

private System.Windows.Forms.Timer flashTimer;
this.flashTimer.Enabled = true;
this.flashTimer.Interval = 1000;
this.flashTimer.Tick += new System.EventHandler(this.FlashTimerTick);

还有一些简单的属性和另一个更新Web服务值的计时器。没有什么比这更复杂的了。

问题是,在对话框解除后,计时器的Tick事件继续触发,我的控件继续一直运行。我假设一旦HWND被销毁,计时器就会停止,GC最终会清理我的对象。

我在C#/ WinForms和C ++ / MFC方面有很多经验,但这是我第一次尝试像这样使用它们。我错过了什么吗?我是否需要进行某种手动清理用户控件?

0 个答案:

没有答案