子窗体中的计时器

本文关键字:计时器 窗体 | 更新日期: 2023-09-27 18:13:52

如果我有一个表单,有一个计时器来检查一些东西在它的工具栏按钮,现在我使用这个表单作为另一个应用程序中的子表单,计时器还运行吗?任何可能导致它停止工作的线程问题?我问的原因是,我有这样一个场景和工具栏没有更新,如果我打开这个应用程序在另一个应用程序,想看看问题是否来自这里和任何可能的修复?

子窗体中的计时器

System.Windows.Forms.Timer将在创建它的同一个线程上引发Tick事件,所以如果父应用程序以某种方式阻塞了它的主线程,Tick事件中的代码将不会运行,直到线程清除,这可能是您所看到的问题的原因,然而,在这种情况下UI的其余部分也应该是无响应的。一个system . timer . timer将在一个单独的线程上引发它的Tick事件,但是如果你的UI线程无论如何都被阻塞了,这将没有什么用处,因为这将阻止你更新工具栏,即使代码运行。