以下代码是主要问题的概念。我想要做的是,当有人按下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();
}
答案 0 :(得分:2)
您需要TimerEventProcessor
以及Timer
和counter
字段非静态,并使用this
而不是创建新实例。也没有必要每次都设置myTimer.Enabled
属性。
Timer mytimer = new Timer();
int counter= 1;
private void TimerEventProcessor(object sender, EventArgs e)
{
this.label1.Text = counter;
counter++;
}