如何从方法访问表单标签

时间:2013-03-25 19:44:28

标签: c# winforms

以下代码是主要问题的概念。我想要做的是,当有人按下button1时,启用计时器以连续更改label1的值。现在主要的问题是我需要从TimerEventProcessor()访问标签,文本框等表单元素,但我不能这样做。我尝试使用Form1 formm = 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(); 
}

1 个答案:

答案 0 :(得分:2)

您需要TimerEventProcessor以及Timercounter字段非静态,并使用this而不是创建新实例。也没有必要每次都设置myTimer.Enabled属性。

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

private void TimerEventProcessor(object sender, EventArgs e)
{  
    this.label1.Text = counter;
    counter++;
}