我有一个计时器事件设置,我想通过从文本框中读取一个数字来更改计时器事件发生的频率。如果该框是“10”并且您单击更新按钮,则该事件将每 10 毫秒触发一次,然后如果您更改为“100”并单击它,它将每 100 毫秒发生一次,依此类推。
然而,当我运行程序时,我可以加快事件频率(例如 100 毫秒到 10 毫秒),但我不能减慢它(例如 10 毫秒到 100 毫秒)。这是我单击时更改计时器的代码:
private void TimerButton_Click(object sender, EventArgs e)
{
getTime = ImgTimeInterval.Text;
bool isNumeric = int.TryParse(ImgTimeInterval.Text, out timerMS); //if number place number in timerMS
label2.Text = isNumeric.ToString();
if (isNumeric)
{
System.Timers.Timer timer = new System.Timers.Timer();
timer.Enabled = false;
timer.Interval = timerMS;
timer.Elapsed += new ElapsedEventHandler(timerEvent);
timer.AutoReset = true;
timer.Enabled = true;
}
}
public void timerEvent(object source, System.Timers.ElapsedEventArgs e)
{
label1.Text = counter.ToString();
counter = (counter + 1) % 100;
}
如果有人知道我可能做错了什么,将不胜感激。