static void RepeatKey(RepeatingKey keyInfo) { repeatingKeyQueue.Enqueue(keyInfo); if (!keyRepeater.IsBusy && repeatingKeyQueue.Count > 0) { currentRepeatingKey = repeatingKeyQueue.Dequeue(); keyRepeater.RunWorkerAsync(currentRepeatingKey); } }
static void keyRepeater_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { currentRepeatingKey = RepeatingKey.Empty; if (!keyRepeater.IsBusy && repeatingKeyQueue.Count > 0) { currentRepeatingKey = repeatingKeyQueue.Dequeue(); keyRepeater.RunWorkerAsync(currentRepeatingKey); } }