Я хотел создать элемент управления по промежутку времени, например, когда программа запускается, после временного интервала t1, запускается событие A (например, включается), затем ждет после временного интервала t2, запускается событие B (выключение egswitch выключено), и этот процесс будет выполняться периодически для n раз.
То, чего я достиг до сих пор, - это то, что я мог l oop два события только тогда, когда t1 = t2, я не знаю, как сделать t1 и t2 две отдельные управляемые переменные.
public partial class Form1 : Form
{
private int counter; //counter to control the cycle times
private int EventIndex;//control the event status
private void InitializeTimer()
{
counter = 0;
EventIndex = 0;
timer1.Enabled = true; // Hook up timer's tick event handler.
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
}
//function for switch the event status
private void UpdateEvent()
{
EventIndex = 1 - EventIndex; // loop event index between 1 and 0
if (EventIndex.Equals(1))
{
//Exceute command for event A
}
else
{
//Exceute command for event A
}
}
private void timer1_Tick(object sender, EventArgs e)
{
decimal t = numericUpDown1.Value; //time interval t between two events
int interval = Convert.ToInt32(t);
decimal n = numericUpDown2.Value; //periodically excute the process n times
int cycle = Convert.ToInt32(n);
//using the numeric input value to set up the interval time
timer1.Interval = interval
if (counter >= cycle)
{
// Exit loop code.
timer1.Enabled = false;
counter = 0;
}
else
{
UpdateEvent();
counter = counter + 1;// Increment counter.
}
}
}