c#无法访问静态void OnTimedEvent的Timers更新计时器上的Labels对象

问题描述

我正在使用tcpClient创建程序。这是我看到的唯一计时器代码,当我启动tcpClient Listening函数时,该代码不会冻结。问题是我似乎无法用它来更新我的“ lblTime”标签来更新时间。

using System;
using System.Timers;

public class Demo {
private static Timer timer;

public static void Main() {
  timer = new System.Timers.Timer();
  timer.Interval = 5000;

  timer.Elapsed += OnTimedEvent;
  timer.AutoReset = true;
  timer.Enabled = true;

  Console.WriteLine("Press the Enter key to exit anytime... ");
  Console.ReadLine();
}

 private static void OnTimedEvent(Object source,System.Timers.ElapsedEventArgs e) {
    string timeLabel = DateTime.Now.ToString("hh:mm:ss tt");
    Console.WriteLine(timeLabel); //Works with no problem
    lblTime.Text  = timeLabel; //generates error "An Object reference required for the non-static field,method or property."
 }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)