如何ChangeText在静态方法中使用该方法timer_Elapsed?
public Load()
{
InitializeComponent();
System.Timers.Timer timer = new System.Timers.Timer();
timer.Interval = 1000;
// I can't transfer parameters here
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
timer.Start();
}
static void timer_Elapsed(object sender, ElapsedEventArgs e)
{
//Its underlined in red. I need a object reference?
ChangeText();
}
public void ChangeText()
{
label1.Text = label1.Text + ".";
}
Run Code Online (Sandbox Code Playgroud)
我没有看到任何理由timer_Elapsed应该是static.所以只需删除它.
void timer_Elapsed(object sender, ElapsedEventArgs e)
{
ChangeText(); //Its not underlined anymore, you have an object reference
}
Run Code Online (Sandbox Code Playgroud)
另一种方法是制作ChangeText静态.但是这不起作用,因为你想设置一个Label文本,所以Form无论如何你需要一个实例.