我有一个自动功能,想法是在特定时间内执行一些动作。
它接收带有操作和特定时间的ListView。
它几乎完美无缺。我说几乎是因为有时它不执行一个动作(让我们说动作#10,它有30个动作要做),当发生这种情况时,其余动作都不会被执行。
我有一些验证,我检查先前的操作是否已执行,然后当前的操作被执行,但它没有任何区别,它会在某个时刻继续停止。
此自动功能的代码:
构造
public RunAutomatic()
{
InitializeComponent();
stopwatch = new System.Windows.Forms.Timer();
stopwatch.Interval = 5;
stopwatch.Tick += new EventHandler(stopwatch_Tick);
repSeconds = 0;
for (int x = 0; x < repeatActions.Capacity; x++)
{
repeatActions.Add(x);
finished.Add(x);
}
}
运行功能
private void RunFaster()
{
if (contPos > 1)
{
ArrayList tmp = (ArrayList)repeatActions[contPos - 1];
if ((bool)tmp[tmp.Count - 1] == true) //This is where it is supposed to validate that the previous action is already executed
Execute(2);
else
{
contPos = contPos - 1;
Execute(2);
}
}
else
Execute(2);
}
我试图解决这个问题,但无法克服它。 感谢所有回复。