C# - 如何从另一个函数中停止计时器?

时间:2017-08-05 09:17:14

标签: c#

我创建了一个计时器元素(timerA)并尝试在函数内停止它:

public static string sendWebRequest(string URL) {...}

我怎么能做到这一点?

我试过这样:

public static string sendWebRequest(string URL)
{
    ...
    timerA.Stop();
}

我得到The non-static field, method, or property "main.timerA" requires an object reference(主要是表单的名称)。

所以我尝试了这样:

main.timerA.Stop();

但我得到同样的错误。

1 个答案:

答案 0 :(得分:1)

如果你有一个特定的Timer将在整个应用程序中使用,你必须在静态变量中使用它。

静态变量意味着它是在类加载器中创建的,并且在创建对象时不会有任何其他实例。因此,静态计时器将在整个应用程序中使用,如果它是公共的。

虽然这不是直接在其他功能中修改计时器的好方法但你可以做的是确保你的计时器处于静态模式:

public static System.Timers.Timer ApplicationTimer = new System.Timers.Timer();