我需要一个动态变量和计时器名称,让我向您展示一下我想要实现的目标:
Timer + resultString +_StopTime = DateTime.Parse(labelCurrentTimeValue.Text).Add(Timer_Duration);
resultString保存按钮的ID,因为我为多个计时器启动了相同的代码。
我知道我不能用这种方式编写代码,我只是想让你知道我想要实现的目标。
我也知道我可以使用"如果"或"切换案例"但代码将重复,这是我试图阻止的。
在同一主题上我也需要这样的东西:
timer + resultString.Enabled = true;
对于我正在使用的其他控件:
Control[] matches_textBoxTimer = this.Controls.Find("textBoxTimer" + resultString, true);
TextBox textBoxTimer = matches_textBoxTimer[0] as TextBox;
但不幸的是,我无法用计时器做到这一点,所以我也在寻找类似的东西。
最后一点,当我到达该代码时,已经声明了变量Timer + resultString + _StopTime,以及计时器。
答案 0 :(得分:3)
您可以做的是创建一个字典来存储计时器对象,并让字典的键是一个包含计时器名称的字符串。
Dictionary <String, Timer> timers;
timers["timer" + resultString].StopTime = DateTime.Parse(labelCurrentTimeValue.Text).Add(Timer_Duration);
在大多数情况下,您将在form_load方法中创建一个计时器。
timers = new Dictionary <String, Timer>();
timers.Add(new Timer(), "timer1");
timers.Add(new Timer(), "timer2");
timers.Add(new Timer(), "timer3");
//Interval set to 1 second between ticks.
timers["timer1"].Duration = 1000;
timers["timer2"].Duration = 1000;
timers["timer3"].Duration = 1000;
timers["timer1"].Start();
timers["timer2"].Start();
timers["timer3"].Start();
答案 1 :(得分:1)
您无法动态创建变量名称,c#是强类型语言。尝试查看字典。我不确定你如何将这三个部分合并。