我正在尝试初始化一个每秒调用一次方法的计时器。我需要从另一个事件处理程序中初始化它。
我写了这段代码,但它仍然给我一个编译错误。它们,初始化和事件处理程序都在同一个类中。
private void Controllel_Opened(object sender, EventArgs e)
{
System.Timers.Timer myTimer = new System.Timers.Timer();
myTimer.Elapsed += new System.Timers.ElapsedEventHandler(DisplayTimeEvent);
myTimer.Interval = 1000; // 1000 ms is one second
myTimer.Start();
}
public static void DisplayTimeEvent(object source, ElapsedEventArgs e)
{
// code here will run every second
}
有什么建议吗?
答案 0 :(得分:1)
嗯,谢谢,它让我看起来,我发现我只是在事件处理程序中的ElapsedEventArgs
之前错过了引用。
因此代码完全适用于:
public static System.Timers.Timer myTimer = new System.Timers.Timer();
private void Controllel_Opened(object sender, EventArgs e)
{
myTimer.Elapsed += new System.Timers.ElapsedEventHandler(DisplayTimeEvent);
myTimer.Interval = 1000; // 1000 ms is one second
myTimer.Start();
}
public static void DisplayTimeEvent(object source, System.Timers.ElapsedEventArgs e)
{
// code here will run every second
}
感谢您的光临。
答案 1 :(得分:-1)
您也可以从客户端做同样的事情。
[WebMethod]
public static void MyServerMethod()
{
//Code goes herer.
}
setInterval(function () {
$.post("../MyPage.aspx", function (data) {
$.ajax({
type: 'POST',
contentType: "application/json; charset=utf-8",
url: '../MyPage.aspx/MyServerMethod',
data: '{}',
async: false,
success: function (response) {
// code goes here.
});
}, 1000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>