我每隔5分钟更新一个弹出窗口的标签,并将代码基于此article。
public MyPopup()
{
var startTimeSpan = TimeSpan.Zero;
var periodTimeSpan = TimeSpan.FromMinutes(5);
var timer = new System.Threading.Timer((e) =>
{
UpdatePopupUI();
}, null, startTimeSpan, periodTimeSpan);
}
一切正常但当我回到主窗口并打开新窗口(不是弹出窗口的新实例)时,似乎线程被删除了。我在输入窗口中没有错误。关于什么可以杀死线程的任何想法?有没有办法解决这个问题?
答案 0 :(得分:1)
很可能你的对象被垃圾收集了。永久存储您的计时器变量,可能是静态变量。