动态变量名和定时器名
Dynamic variable name and timer name
我需要一个动态变量和计时器名称,让我向您展示我正在尝试实现的示例:
Timer + resultString +_StopTime = DateTime.Parse(labelCurrentTimeValue.Text).Add(Timer_Duration);
resultString 包含按钮的 ID,因为我为多个计时器启动了相同的代码。
我知道我不能那样写代码,我只是想让你了解我正在努力实现的目标。
我也知道我可以使用 "if" 或 "switch case" 但代码会重复,这是我要防止的。
关于同一主题,我也需要类似的东西:
timer + resultString.Enabled = true;
对于我使用的其他控件:
Control[] matches_textBoxTimer = this.Controls.Find("textBoxTimer" + resultString, true);
TextBox textBoxTimer = matches_textBoxTimer[0] as TextBox;
但不幸的是,我不能用计时器做到这一点,所以我也在寻找类似的东西。
最后一点,当我到达该代码时,已经声明了变量 Timer + resultString +_StopTime 以及计时器。
您不能动态创建变量名,c# 是一种强类型语言。尝试查看字典。不过,我不确定您将如何合并这三个部分。
你可以做的是创建一个字典来存储定时器对象,并让字典的键是一个包含定时器名称的字符串。
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();
我需要一个动态变量和计时器名称,让我向您展示我正在尝试实现的示例:
Timer + resultString +_StopTime = DateTime.Parse(labelCurrentTimeValue.Text).Add(Timer_Duration);
resultString 包含按钮的 ID,因为我为多个计时器启动了相同的代码。
我知道我不能那样写代码,我只是想让你了解我正在努力实现的目标。
我也知道我可以使用 "if" 或 "switch case" 但代码会重复,这是我要防止的。
关于同一主题,我也需要类似的东西:
timer + resultString.Enabled = true;
对于我使用的其他控件:
Control[] matches_textBoxTimer = this.Controls.Find("textBoxTimer" + resultString, true);
TextBox textBoxTimer = matches_textBoxTimer[0] as TextBox;
但不幸的是,我不能用计时器做到这一点,所以我也在寻找类似的东西。
最后一点,当我到达该代码时,已经声明了变量 Timer + resultString +_StopTime 以及计时器。
您不能动态创建变量名,c# 是一种强类型语言。尝试查看字典。不过,我不确定您将如何合并这三个部分。
你可以做的是创建一个字典来存储定时器对象,并让字典的键是一个包含定时器名称的字符串。
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();