-2

以下代码是主要问题的想法。我想要做的是,当有人按下 button1 时,会启用一个计时器来连续更改 label1 的值。现在主要问题是我需要从 TimerEventProcessor() 访问标签、文本框等表单元素,但我不能这样做。我尝试使用 Form1 formmm = new Form1(); 但仍然无法正常工作。什么都没有显示,我也没有收到任何错误。

    static Timer mytimer = new Timer();
    static int counter= 1;

private static void TimerEventProcessor(Object myObject, EventArgs myEventArgs)
{   mytimer.Enabled = true;
    Form1 formm = new Form1();            
    formm.label1.Text = counter;
    counter++;
}


private void button1_Click(object sender, EventArgs e)
{
   myTimer.Tick += new EventHandler(TimerEventProcessor);

   myTimer.Interval = 1000;
   myTimer.Start(); 
}
4

1 回答 1

2

您需要TimerEventProcessorTimerandcounter字段一起使用非静态并使用this而不是创建新实例。也不必myTimer.Enabled每次都设置属性。

Timer mytimer = new Timer();
int counter= 1;

private void TimerEventProcessor(object sender, EventArgs e)
{  
    this.label1.Text = counter;
    counter++;
}
于 2013-03-25T19:47:56.660 回答