在WinForm中使用System.Windows.Forms.Timer对象,如果是在单线程中使用,则直接设置该对象的Enabled属性值即可启动计时器,但如果是在多线程窗体中在多线程引发的事件中调用计时器,请必须使用委托对象在UI窗体上INVOKE设置计时器Enabled的值,如果不使用INVOKE,则计时器将不会被启动。

委托声明如下:
public delegate void SetTimer(Timer tm,bool enabled);

调用:

void STimer(Timer tm,bool enabled)
        {
            Invoke(new SetTimer(__SetTimer), new object[] { tm,enabled });
        }

        void __SetTimer(Timer tm,bool o)
        {
                        tm.Enabled = o;
        }


相关文章:

  • 2021-06-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-12
  • 2021-12-06
猜你喜欢
  • 2022-12-23
  • 2021-12-18
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案