动态变量名称和计时器名称

时间:2015-01-18 04:37:59

标签: c# string variables timer

我需要一个动态变量和计时器名称,让我向您展示一下我想要实现的目标:

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,以及计时器。

2 个答案:

答案 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#是强类型语言。尝试查看字典。我不确定你如何将这三个部分合并。