【问题标题】:Windows C# Timer Elapsed ErrorWindows C# Timer Elapsed 错误
【发布时间】:2015-09-08 14:13:40
【问题描述】:

我正在制作一个计时器以每 24 小时运行一次特定的代码,我正在使用计时器来执行此操作,但是当我尝试运行我的代码时出现以下错误。

错误 1“System.Windows.Forms.Timer”不包含“Elapsed”的定义,并且找不到接受“System.Windows.Forms.Timer”类型的第一个参数的扩展方法“Elapsed”(是您缺少 using 指令或程序集引用?)

我需要改用 System.Timer 吗?当我这样做时,它也不起作用。

这是我的代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
using System.Timers;

private void startBtn_Click_1(object sender, EventArgs e)
    {
        System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();
        myTimer.Elapsed += new ElapsedEventHandler(DisplayTimeEvent);
        myTimer.Interval = 1000; // 1000 ms is one second
        myTimer.Start();
    }


public static void DisplayTimeEvent(object source, ElapsedEventArgs e)
    {
        backUp();
    }

【问题讨论】:

  • 我认为等效事件是Tick in System.Windows.Forms.Timer
  • 验证ElapsedEventHandler类的完整命名空间...也许你使用的是System.Timers.ElapsedEventHandler而不是System.Windows.Forms.ElapsedEventHandler
  • 谢谢大家,已排序。我的错。

标签: c# timer elapsed


【解决方案1】:

抱歉浪费了大家的时间。

我做了这个......现在它可以工作了!

System.Timers.Timer myTimer = new System.Timers.Timer();
myTimer.Elapsed += new ElapsedEventHandler(DisplayTimeEvent);
myTimer.Interval = 1000; // 1000 ms is one second
myTimer.Start();

【讨论】:

  • 我试过这个但没有用。找不到类型或命名空间名称“ElapsedEventHandler”(您是否缺少 using 指令或程序集引用?)
【解决方案2】:

您要查找的事件在 System.Windows.Forms.Timer 类型中称为 Tick

System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();
myTimer.Tick += myTimer_Tick;

void myTimer_Tick(object sender, EventArgs e)
{
    Backup();
}

【讨论】:

    猜你喜欢
    • 2023-03-09
    • 2016-04-24
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    相关资源
    最近更新 更多