【发布时间】:2020-05-17 18:00:04
【问题描述】:
我是 c# 的新手,我只是为了个人学习而编程,我一直在尝试编写一条指令,从远程站读取一些数据到我的应用程序 (m64...mw74),它是运行几分钟,但它可能在 5 分钟后崩溃。 请参阅下面我使用的代码,以每 1 秒更新一次数据并将其写入表单中的简单文本框中。enter image description here
非常感谢您。
private void Load_act()
{
actvalueL1.Text = plc.Read("mw64").ToString();
actvaluep1.Text = plc.Read("mw68").ToString();
actvaluep2.Text = plc.Read("mw71").ToString();
actvaluep3.Text = plc.Read("mw74").ToString();
InitTimer();
}
private Timer timer1;
public void InitTimer()
{
timer1 = new Timer();
timer1.Tick += new EventHandler(timer1_Tick);
timer1.Interval = 1000; // in miliseconds
timer1.Start();
//Console.ReadLine();
}
private void timer1_Tick(object sender, EventArgs e)
{
Load_act();
}
【问题讨论】:
-
你正在使用什么计时器类(即,什么命名空间/dll)?此外,您正在回调本身中添加对 timer1.Tick 的回调,因此该列表将随着每个滴答事件呈指数增长。