C#论坛-玄机论坛-C#论坛-玄机宝盒-玄机类库-C#

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 349|回复: 5

[求助中] System.Threading.Timer 做定时器

[复制链接]
  • TA的每日心情
    慵懒
    2017-9-15 18:57
  • 签到天数: 10 天

    [LV.3]【仗剑天涯】

    kissyello 发表于 2017-3-9 21:14:38 | 显示全部楼层 |阅读模式
    5紫晶
    本帖最后由 kissyello 于 2017-3-9 21:25 编辑

        private void button1_Click(object sender, EventArgs e)
            {
                DateTime dt = DateTime.Parse("20:57");//这个时间可以变换            long span = (dt - DateTime.Now).Ticks;
                if (span < 0)
                    dtS= dt.AddDays(1);
                long dts = (dt - DateTime.Now).Ticks / 1000;//求的是距离的毫秒数
                long timeCount = 1000 * 60 * 60 * 24;//每隔 24小时的 启动线程
                System.Threading.Timer tm = new System.Threading.Timer(new System.Threading.TimerCallback(SendMsg),null, dts, timeCount);
            }

            void SendMsg(object a)
            {
                MessageBox.Show(DateTime.Now.ToString());
            }


    为什么不能执行呢?就是想做个定时器,可以设置启动的时间,每隔24小时在执行


    最佳答案

    查看完整内容

    [mw_shl_code=csharp,true] System.Threading.Timer timer = new System.Threading.Timer( MyTimerCallback, //定时回调函数 null, Timeout.Infinite, 10 * 60 * 1000); void MyTimerCallback(object o) { // (要定时执行的代码写在这里) timer.Change(Timeout.Infinite, 60 * 10 * 1000); //
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-12-22 10:34
  • 签到天数: 82 天

    [LV.6]【武林翘楚】

    君临 发表于 2017-3-9 21:14:39 | 显示全部楼层
    [C#] 纯文本查看 复制代码
      
    System.Threading.Timer timer = new System.Threading.Timer(
    
            MyTimerCallback,    //定时回调函数 
    
            null,
    
            Timeout.Infinite,
    
            10 * 60 * 1000);
     void MyTimerCallback(object o)
            {
    
                // (要定时执行的代码写在这里) 
    
                timer.Change(Timeout.Infinite, 60 * 10 * 1000);   //<--每10分钟启动一次! ,可以改变下次启动时间
    
            }
    
    
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-9-15 18:57
  • 签到天数: 10 天

    [LV.3]【仗剑天涯】

     楼主| kissyello 发表于 2017-3-9 21:23:41 | 显示全部楼层
    本帖最后由 kissyello 于 2017-3-9 21:24 编辑

      long span = (dt - DateTime.Now).Ticks;
                if (span < 0)
                    dtS= dt.AddDays(1);
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-12-22 10:34
  • 签到天数: 82 天

    [LV.6]【武林翘楚】

    君临 发表于 2017-3-11 02:07:54 | 显示全部楼层
    启动你的时钟.
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-9-15 18:57
  • 签到天数: 10 天

    [LV.3]【仗剑天涯】

     楼主| kissyello 发表于 2017-3-11 16:10:06 | 显示全部楼层

    System.Threading.Timer  用的是线程的 定时,没找到启动的。不是用的系统的Timer
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-9-15 18:57
  • 签到天数: 10 天

    [LV.3]【仗剑天涯】

     楼主| kissyello 发表于 2017-3-13 10:44:01 | 显示全部楼层
    君临 发表于 2017-3-12 17:24
    [mw_shl_code=csharp,true]  
    System.Threading.Timer timer = new System.Threading.Timer(

    太谢谢 老大了
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复

    使用道具 举报

    *滑动验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    QQ|Archiver|手机版|小黑屋|玄机论坛   

    GMT+8, 2018-1-21 11:00 , Processed in 0.650484 second(s), 33 queries .

    Powered by Msdn5.com

    © 2014-2015 Msdn5 Inc.

    快速回复 返回顶部 返回列表